选择列还是null?

时间:2012-09-08 00:03:38

标签: mysql select null

我可以这样选择吗?

SELECT DISTINCT idClient, idAcc,Description 
FROM client, account 
WHERE (account.idCliente = client.idCliente  
    OR account.idCliente is NULL )

我遇到了麻烦,因为它向我显示了重复的结果:x我该怎么办?

由于

编辑:

结果

idClient idAcc Description
    1   3   good    
    1   2   bad 
    1   3   bad

请注意,我为同一个idAcc获取了2个不同的描述

EDIT2:

我真的需要通过NULL或非空搜索。

2 个答案:

答案 0 :(得分:0)

我会重写你的查询以使用LEFT JOIN,这样你就可以获得有client.idCliente的所有情况,以及那些不存在account.idCliente的情况。

像这样:

SELECT DISTINCT Description
FROM client 
LEFT JOIN account ON client.idCliente = account.idCliente;

答案 1 :(得分:0)

您正在使用隐式联接。尝试使用明确的JOIN,如下所示:

SELECT DISTINCT Description 
FROM client
LEFT JOIN account ON account.idCliente = client.idCliente