sql >> Database teknologi >  >> RDS >> Mysql

MySQL slutter sig til sagsfremstillinger

Sæt ikke sagen på hele den indre joinforbindelse, gør kun sagen på 'on'-klausulen i joinningen. Dette burde virke (medmindre jeg har slåfejl):

  SELECT 
    conversation.c_id,
    conversation.user_one,
    conversation.user_two,
    users.name,
    users.lastName
  FROM `conversation` 
  INNER JOIN `users`
  on
  users.id =
  CASE
    WHEN conversation.user_one = 1
    THEN conversation.two 
    WHEN conversation.user_two = 1
    THEN conversation.user_one   
 END
 WHERE `user_one` = 1 OR `user_two` = 1

Du kan også opnå en lignende påvirkning ved at gå sammen med hver af disse betingelser og derefter bruge case-sætningen i din select-erklæring til at bestemme, hvilken af ​​de to tabeller, der skal vises poster fra.




  1. Introduktion til MaxScale Administration Brug af maxctrl til MariaDB Cluster

  2. MySQL LOAD_FILE returnerer NULL

  3. PHP MYSQL henter en TEKST med nye linjer

  4. MySQL-forespørgsel virker ikke, mens du bruger php-variabel i where-klausulen