Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql表连接和使用DISTINCT_Php_Mysql - Fatal编程技术网

Php mysql表连接和使用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

我在mysql中使用DISTINCT以及连接表时遇到问题

我有两个表:tapplicant和toutcome,它们共享一个APPID,这就是我想要加入它们的方式

我查询tapplicant表,它工作正常,我只需要toutcome表中名为“Status”的1列

我也在查询中使用DISTINCT,因为我不希望显示任何重复的结果。下面是我的问题

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 . . . 也许桌子是空的?尝试使用
左联接