Php 如果两行相同,则使用左join-specialize索引进行Mysql查询

Php 如果两行相同,则使用左join-specialize索引进行Mysql查询,php,mysql,sql-server,left-join,Php,Mysql,Sql Server,Left Join,我在mysql数据库中有一个名为users的表和另一个名为grouppost的表。两个表都有相同的id行。因此,当我在连接两个表的左侧执行sql查询时,我如何才能决定我想要哪个id行? 范例 如果要在结果集中单独将其作为目标,可以在选择中对其进行别名: SELECT gp.*, u.*, gp.id AS grouppost_id FROM grouppost AS gp LEFT JOIN users AS u ON u.username = gp.author WHERE gp.gnam

我在mysql数据库中有一个名为
users
的表和另一个名为
grouppost
的表。两个表都有相同的
id
行。因此,当我在连接两个表的左侧执行sql查询时,我如何才能决定我想要哪个
id
行?

范例


如果要在结果集中单独将其作为目标,可以在选择中对其进行别名:

SELECT gp.*, u.*, gp.id AS grouppost_id 
FROM grouppost AS gp 
LEFT JOIN users AS u ON u.username = gp.author
WHERE gp.gname = ? 
  AND gp.type = ? 
ORDER BY gp.pdate DESC
$limit

但当我运行查询时,它返回相同的(
id
in
users
table)。sql没有问题,问题是如何在while循环中保存数据。我需要专门化
的索引。这就是为什么我将
gp.id作为grouppost\u id
添加到查询中。如果您想要grouppost\u id,它现在位于不同的名称下,因此不会与其他值冲突。哦,您的意思是
$row[“grouppost\u id”]
。工作!
SELECT gp.*, u.*, gp.id AS grouppost_id 
FROM grouppost AS gp 
LEFT JOIN users AS u ON u.username = gp.author
WHERE gp.gname = ? 
  AND gp.type = ? 
ORDER BY gp.pdate DESC
$limit