定义哪个ID应保留在JOIN表查询中

时间:2015-08-10 02:20:23

标签: php mysql

您好我使用以下SELECT

"SELECT 
   P.id
  ,P.price
  ,P.contract
  ,P.property_type


  ,CT.id
  ,CT.english_text
  ,PT.id
  ,PT.english
  ,C.cityname
  ,S.sectorname
  ,S.id


FROM properties P
JOIN contract CT
  ON CT.id = P.contract
JOIN property_type PT
  ON PT.id = P.property_type
JOIN city C
  ON C.id = P.city
JOIN sector S
  ON S.id = P.sector WHERE 1"

在最终结果中我总是有id=2,我认为这是来自S.id的id,因为它是最后一个。

我如何进入此查询的foreach循环以在P.id内显示$row['id']

现在每个结果总是$row['2']

1 个答案:

答案 0 :(得分:3)

你有多个具有相同名称的列,这会让php感到困惑。使用别名为它们指定不同的名称:

SELECT P.id as p_id, P.price, P.contract, P.property_type,
       CT.id as c_id, CT.english_text,
       PT.id as pt_id, PT.english
       C.cityname,
       S.sectorname, S.id as s_id
. . .

这会从结果集中删除所有 id。您想要的是s_id