MySQL выбрать несколько и присоединиться к запросу - PullRequest
1 голос
/ 14 июня 2011

У меня сложный вопрос MYSQL здесь.Я стараюсь изо всех сил, чтобы объяснить мою проблему.

У меня 4 таблицы.mid - это внешний ключ между таблицами.table4 НЕ является обязательным источником таблицы.Однако мне нравится, что он возвращает все строки, даже если нет данных о совпадении из таблицы4.Поэтому я пишу скрипт запроса следующим образом.

Я не уверен, что это логический способ написания такого скрипта запроса, но я знаю, что синтаксис неверен

SELECT * 
FROM table1, table2, table3, 
    (SELECT xx 
    FROM table4 
    RIGHT JOIN table1 ON table1.mid = table4.mid) 
WHERE table1.mid = table2.mid 
AND table1.mid = table3.mid 
AND tt = 'a' 
AND type = 1 
GROUP BY table1.mid 
ORDER BY xx DESC, table1.name ASC;

1 Ответ

0 голосов
/ 14 июня 2011

Вы должны выполнить левое соединение между таблицами table1 и table4:

SELECT * 
  FROM table1
  JOIN table2 ON table1.mid = table2.mid 
  JOIN table3 ON table1.mid = table3.mid 
  LEFT JOIN table4 ON table1.mid = table4.mid 
 WHERE tt = 'a' 
   AND type = 1 
 GROUP BY table1.mid 
 ORDER BY xx DESC, table1.name ASC;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...