我有以下SQL代码,这是不给我我想要的结果。SQL嵌套选择语句
SELECT
POLICIES.CLIENTS_ID,
POLICIES.CLIENTCODE,
COUNT(POLICIES.POLICIES_ID) as [Total Policies],
(
SELECT
COUNT(POLICIES.POLICIES_ID)
FROM
POLICIES
WHERE
POLICIES.COVCODE = 'AUT'
) as [Auto Policies]
FROM
POLICIES
LEFT JOIN CLIENTS
ON CLIENTS.CLIENTS_ID = POLICIES.CLIENTS_ID
WHERE
POLICIES.CNR IS NULL
GROUP BY
POLICIES.CLIENTS_ID,
POLICIES.CLIENTCODE
ORDER BY
POLICIES.CLIENTS_ID
我得到的结果是这样的:
ID CODE Total Auto
3 ABCDE1 1 999999
4 ABCDE2 1 999999
5 ABCDE3 2 999999
6 ABCDE4 2 999999
我想最后一列以计数存在该客户端ID,而不是所有存在的汽车保险的汽车总政策。我相信我需要一个嵌套的select语句,以某种方式将所有类似于clientid的结果分组,但最终返回多于一行并抛出错误。
如果我添加:
GROUP BY
POLICIES.CLIENTS_ID
我得到:
Subquery returned more than 1 value. This is not permitted when the....
任何帮助将不胜感激! 谢谢
什么是CLIENTS_ID'和'CLIENTCODE'之间'关系的内部查询?您的示例结果显示它是1比1吗?看起来CLIENTS上的左连接完全是多余的。 – 2014-11-14 19:23:02
马丁,你是对的。那里有一点遗漏的sql。我打算在此后不久将数据扩展到另一个表格。谢谢 – evade 2014-11-14 19:27:44