我的 SQL
是:
SELECT DB1.IdUtente
,DB2.Gruppo
,DB1.Username
,DB1.Psw
,CASE WHEN DB1.RagioneSociale IS NOT NULL
AND DB1.RagioneSociale <> ''
THEN DB1.RagioneSociale
ELSE DB1.Cognome + ' ' + DB1.Nome
END AS Nominativo
,DB1.Indirizzo + ' - ' + DB1.Cap+ ' ' + DB1.Citta + '(' + DB1.Provincia + ')' AS IndirizzoCompleto
,DB1.Telefono + ' ' + DB1.Email AS Contatti
,(SELECT DISTINCT COUNT (*)
FROM DB3
WHERE DB3.IdAttivazione = DB1.IdUtente
) AS NumeroAccessi
,(SELECT DB4.NumTarga
FROM DB4
WHERE DB4.IdUtente = DB1.IdUtente
) AS NumeroTarghe
,DB1.DataRegistrazione
,DB1.DataScadenza
,DB1.Attivo
FROM DB1
INNER JOIN DB2
ON DB1.IdGruppo = DB2.IdGruppo
WHERE DB1.Demo = 0
ORDER BY DB1.RagioneSociale
为什么我从sql server收到此错误?
错误512:子查询返回的值超过1 . 当子查询遵循=,!=,<,<=,>,> =或子查询用作表达式时,不允许这样做 .
我错了什么?
抱歉英文不好 .
谢谢你的帮助
亲切的问候
M.W.
1 回答
即使您的代码没有问题,您的子选择也应该被重写为
join
.如果你这样做并且实际上在你的整个数据集中做了一些测试,你会看到你的复制来自哪里,这会给你多行并导致你看到的错误: