2016-03-21 4 views
0

Я хочу присоединиться к таблице mysql с агрегатной функцией в инструкции JOIN ON. Я не уверен, что делаю это правильно.mysql JOIN ON инструкция с функциями MAX

Вот мои таблицы. Table_1 (имеет три колонки):

  • идентификаторов
  • с.и.д.
  • TID

Table_2 (имеет четыре колонки)

  • t2id
  • t2sid
  • t2tid
  • t2value

Table_3 (имеет две колонки)

  • t3id
  • t3title

Первые две таблицы, Table_1 и Table_2 они имеют отношения на table_1.sid и table_2.t2sid, и у меня нет проблемы j их.
Теперь я хотел СДАТЬ table_3.t3idtable_2 t2tid = 2, затем table_t2value.

Вот то, что я до сих пор, как заявление MySql:

SELECT MAX(CASE WHEN table2.t2tid=1 THEN table_2.t2value AS 1stid), 
     MAX(CASE WHEN table_2.t2tid=2 THEN table_2.t2value AS 2ndid) 
FORM table_1 
LEFT JOIN table_2 
ON table_2.t2sid = table_1.sid 
LEFT JOIN table_3 
ON table_3.t3id = (i want to join the table_2.t2tid=3 THEN table_2.t2value) 

я смогу присоединиться к ним так, как я хочу?

+0

«Я хочу присоединиться к таблице_2.t2tid = 3 THEN table_2.t2value» - что это значит? Можете ли вы показать нам свой желаемый результат? – WillardSolutions

+0

привет EPB, я хочу, чтобы данные таблицы_3.t3title в мои результаты запроса. Здесь, как таблицы хранятся и связаны друг с другом. table_1 и table_2 column sid, что два столбца имеют отношение. Скажем, когда я запрашиваю table_1.sid и table_2.sid. Я получу следующие результаты в инструкции SELECT, поскольку результаты 1-го значения будут получены из table_2.t2value и table_2.t2value. Теперь я хочу ПРИСОЕДИНЯТЬ к table_3 table_3.t3id к reuslts таблицы_2.t2tid = 3, а затем table_2.t2value. Надеюсь, эта помощь. – slphp

ответ

0

Вы имеете в виду что-то вроде ниже?

SELECT MAX(CASE WHEN table2.t2tid=1 THEN table_2.t2value AS 1stid), 
     MAX(CASE WHEN table_2.t2tid=2 THEN table_2.t2value AS 2ndid) 
FORM table_1 
LEFT JOIN table_2 
ON table_2.t2sid = table_1.sid 
LEFT JOIN table_3 
ON table_3.t3id = (case when table_2.t2tid=3 THEN table_2.t2value else null end) 
+0

Резкий, когда я добавил (случай, когда), как вы заявили, я не смог получить результат результата table_3.t3title. – slphp