Diese meine Frage ist:Spalte ist in der Auswahlliste ungültig, da sie in einer Aggregatfunktion oder die GROUP BY-Klausel SQL Server nicht enthalten ist
SELECT r.CALLID AS MultiRES,
c.CallDate AS CallDate,
cr.Institution AS Institution,
cr.Branch AS Branch
FROM tblResolution r
INNER JOIN tblcall c ON c.CallID=c.CallID AND c.CallDate=c.CallDate
INNER JOIN tblCaller cr ON cr.Institution = cr.Institution AND cr.Branch=cr.Branch
GROUP BY r.CALLID HAVING COUNT(*) > 1;
Aber ich erhalte eine Fehlermeldung, wenn ich es laufen, ich Ich weiß, dass ich etwas mit einer Gruppenklausel machen muss, ich weiß einfach nicht, wo ich es hinstellen soll.
EDIT: Nur herausgefunden, was falsch war:
SELECT r.CALLID AS MultiRES,
c.CallDate AS CallDate,
cr.Institution AS Institution,
cr.Branch AS Branch
FROM tblResolution r
INNER JOIN tblcall c ON c.CallID=c.CallID AND c.CallDate=c.CallDate
INNER JOIN tblCaller cr ON cr.Institution = cr.Institution AND cr.Branch=cr.Branch
GROUP BY c.CallDate,cr.Institution,cr.Branch, r.CALLID HAVING COUNT(*) > 1;
Zuerst brauchen Sie keine 'GROUP BY', weil Sie nichts (' SUM', 'COUNT',' AVG') in Ihrem 'SELECT' aggregieren. Zweitens muss jede Spalte, die nicht aggregiert wird, in Ihrer GROUP BY-Klausel enthalten sein. –
@KenWhite: Aber * sie * sind etwas in der 'HAVING'-Klausel zusammen. –