Соедините три таблицы с первичным ключом в одном и внешним ключом в двух других таблицах

0

введите описание изображения здесь

$query="SELECT i.trans_date, f.col_code,f.trans_qty ,t.dept_code 
        FROM table1 AS i 
        LEFT JOIN table2 AS f 
        ON f.trans_no=i.trans_no 
        LEFT JOIN table3 AS t 
        ON t.trans_no=i.trans_no";

trans_no --> Primary key in table 1
trans_no --> Foreign key in table 2,3

Я пытаюсь получить вышеуказанные поля из 3 таблиц, но не получаю его?

Я хочу получить date(tbl1),qty(tbl2),col_code(tbl2),col_code(tbl3),dept_code(tbl3).. Plz Help

  • 0
    Если вы хотите использовать col_code(tbl3) вам col_code(tbl3) нужно добавить его в свой запрос, для этого необходимо добавить псевдоним для f.col_code и t.col_code поскольку имя столбца совпадает. Например: f.col_code as col_code_t2, t.col_code as col_code_t3
  • 0
    Я понял .... Спасибо тебе !!!!
Теги:

2 ответа

0

Вероятно, не имеют одинаковые значения ключа. Пожалуйста, проверьте данные строки в ваших таблицах.

0

Вы должны использовать псевдоним для столбцов col_code, чтобы избежать неоднозначности и связанной с этим ошибки запроса
например, вы можете добавить псевдоним col_code_t2 и cold_code_t3

query="Select i.trans_date
  , f.col_code col_code_t2

  , f.trans_qty 
  , t.col_code cold_code_t3
  , t.dept_code 
from table1 AS i 
LEFT JOIN table2 AS f ON f.trans_no=i.trans_no 
LEFT JOIN table3 AS t ON t.trans_no=i.trans_no";

Ещё вопросы

Сообщество Overcoder
Наверх
Меню