Php mysql表连接和使用DISTINCT
我在mysql中使用DISTINCT以及连接表时遇到问题 我有两个表:tapplicant和toutcome,它们共享一个APPID,这就是我想要加入它们的方式 我查询tapplicant表,它工作正常,我只需要toutcome表中名为“Status”的1列 我也在查询中使用DISTINCT,因为我不希望显示任何重复的结果。下面是我的问题Php mysql表连接和使用DISTINCT,php,mysql,Php,Mysql,我在mysql中使用DISTINCT以及连接表时遇到问题 我有两个表:tapplicant和toutcome,它们共享一个APPID,这就是我想要加入它们的方式 我查询tapplicant表,它工作正常,我只需要toutcome表中名为“Status”的1列 我也在查询中使用DISTINCT,因为我不希望显示任何重复的结果。下面是我的问题 SELECT DISTINCT tapplicant.AppDate, tapplicant.Title, tapplicant.FirstName, tap
SELECT DISTINCT tapplicant.AppDate, tapplicant.Title, tapplicant.FirstName, tapplicant.LastName, tapplicant.Email, tapplicant.Postcode, tapplicant.AppIPAddress, toutcome.Status
FROM tapplicant
INNER JOIN toutcome
ON tapplicant.AppAffID = toutcome.affID;
试试这个:
SELECT tapplicant.AppDate, tapplicant.Title, tapplicant.FirstName,
tapplicant.LastName, tapplicant.Email, tapplicant.Postcode,
tapplicant.AppIPAddress, toutcome.Status FROM tapplicant
INNER JOIN toutcome
ON tapplicant.AppAffID = toutcome.affID;
GROUP BY tapplicant.AppDate, tapplicant.Title,
我建议您使用
group_concat()
查看申请人的status
值:
SELECT a.AppDate, a.Title, a.FirstName, a.LastName, a.Email, a.Postcode, a.AppIPAddress,
group_concat(distinct o.Status)
FROM tapplicant a LEFT JOIN
toutcome o
ON a.AppAffID = o.affID
GROUP BY a.AppDate, a.Title, a.FirstName, a.LastName, a.Email, a.Postcode, a.AppIPAddress;
这样,如果有多个,您就会知道。那么问题是什么?问题是什么?这应该可以防止重复。有什么问题吗?显示一些示例输入和预期输出。
DISTINCT
适用于整个SELECT
子句,而不仅仅是单个列。如果您只希望特定列中的某个值有一个结果,请使用GROUP BY
。可能没有任何记录与您的查询条件匹配。尝试直接在Phpmyadmin中运行它,看看它是否返回任何结果或显示一些错误。它会给你一些指导。记录在那里,我不知道为什么这不起作用。简单地说,我需要这样做的是:从tapplicant表中获取所有结果,并在toutcomeHi Gordon表中获取一个列“Status”,谢谢,查询可以工作,只是toutcome.Status不能display@Matt . . . 也许桌子是空的?尝试使用左联接
。