我对mysql查询中的INNER JOIN有一点问题。我有两张桌子,第一张是' kontrola'第二个是'naruszenia'在' kontrola'表我有行:
naruszenie_id(外国关键词' naruszenia'表) 在我的naruszenia表中,我有:
ID
现在我想使用INNER JOIN来展示来自“naruszenia”的naruszenie'表。 我已经创造了一些东西:
$listakontroli = $connecting->query("SELECT * FROM kontrola INNER JOIN naruszenia ON
kontrola.naruszenie_id=naruszenia.id");
但结果是,当我想在表格中显示记录时,我已经更改了第一个表(kontrola)的ID和仍然显示来自naruszenia表的id的naruszenia_id。如何更改它以正确显示单词not id。
答案 0 :(得分:3)
您可以使用显式列名并引用该表(在本例中使用k和n)例如:
$listakontroli = $connecting->query("SELECT k.id
, k.podmiot
, k.miasto
, k.wszczeto7
, k.zakonczono
, n.naruszenia
FROM kontrola k
INNER JOIN naruszenia n ON k.naruszenie_id=n.id");
答案 1 :(得分:1)
您需要使用LEFT OUTER JOIN
或将ID
与两个表分开。 e.g。
$listakontroli = $connecting->query("SELECT kontrola.id as kid, naruszenia.id as nid, podmiot, miasto, etc* FROM kontrola INNER JOIN naruszenia ON kontrola.naruszenie_id=naruszenia.id");
这样您就可以正确区分显示的ID