0

我可以这样选择吗?

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 个不同的描述

编辑2:

我真的需要通过 NULL 或 Not NULL 进行搜索。

4

2 回答 2

0

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

像这样:

SELECT DISTINCT Description
FROM client 
LEFT JOIN account ON client.idCliente = account.idCliente;
于 2012-09-08T00:07:16.927 回答
0

您正在使用隐式连接。尝试使用JOIN这样的显式:

SELECT DISTINCT Description 
FROM client
LEFT JOIN account ON account.idCliente = client.idCliente
于 2012-09-08T00:07:28.627 回答