我有2个表,客户和销售的SQL Server 2014选择记录与最大功能的其他表不存在
我需要从销售中提取所有尚未被加载到客户表和我建立客户以下在我被要求添加2 MAX()
字段之前,查询工作得很好。
下面是该查询:
INSERT INTO Customers (.....)
SELECT distinct
d.UserName,
d.postalCode,
d.location,
d.country,
max(d.invoiceamount) invoiceamount,
max(d.itemscount) itemscount,
d.storeID
FROM S.dbo.[Sales] d
LEFT JOIN G.dbo.Customers s ON d.Username=s.UserName
WHERE s.UserName IS NULL
AND d.username IS NOT NULL
GROUP BY d.UserName, d.postalCode, d.location,
d.country, max(d.invoiceamount), max(d.itemscount), d.storeID
但查询不分组接受MAX():
在我以前CROSS APPLY
另一种情况,但因为在这里我要提取记录,其中用户名是NULL在一张表中......我不知道如何构建查询。
你能给我一些提示吗?
尝试删除'GROUP BY'子句中的'MAX'函数及其列:GROUP BY d.UserName,d.postalCode,d.location, d.country,d.storeID' –
Yes Felix,you '完全正确,今晚太累了。事实上,我合并了2个不同的邮件,并发布了错误的问题:真正的问题是完全不同的。如果我提出另一个问题,或许会更好。如果提到原始问题,您的答案是完全正确的。对不起 – Joe
请不要在你提出问题后完全改变你的问题。如果你解决了原来的问题并想问一个新的问题,那么你应该(1)接受答案,如果答案帮助你解决了问题,并且(2)提出一个新问题。 –