内部加入mysql php

时间:2018-03-17 14:58:25

标签: php mysql

我对mysql查询中的INNER JOIN有一点问题。我有两张桌子,第一张是' kontrola'第二个是'naruszenia'在' kontrola'表我有行:

  • ID
  • podmiot
  • 斯托
  • wszczeto
  • zakonczono
  • naruszenie_id(外国关键词' naruszenia'表) 在我的naruszenia表中,我有:

  • ID

  • naruszenia

现在我想使用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。

2 个答案:

答案 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