Mysql SQL查询不存在
我们有两个销售不同类型商品的系统。我们希望显示仅在Sandbox1中拥有帐户的客户,而不是在Sandbox2中拥有帐户的客户。我使用了WHERE NOT EXISTS,但我不确定它是否正常工作。我在尝试运行时遇到一个错误:将nvarchar值“MSTO15”转换为数据类型int时,转换失败。因此,我不确定是什么导致了这一错误,或者我的查询是否正确 任何帮助都将不胜感激Mysql SQL查询不存在,mysql,sql,sql-server,nested-queries,Mysql,Sql,Sql Server,Nested Queries,我们有两个销售不同类型商品的系统。我们希望显示仅在Sandbox1中拥有帐户的客户,而不是在Sandbox2中拥有帐户的客户。我使用了WHERE NOT EXISTS,但我不确定它是否正常工作。我在尝试运行时遇到一个错误:将nvarchar值“MSTO15”转换为数据类型int时,转换失败。因此,我不确定是什么导致了这一错误,或者我的查询是否正确 任何帮助都将不胜感激 SELECT [Account #], Accounts, [Prior Annual], [Prior Annual1], [
SELECT [Account #], Accounts, [Prior Annual], [Prior Annual1], [Prior Annual2]
FROM Sandbox1.dbo.SalesHistory as s
WHERE NOT EXISTS
(SELECT *
FROM Sandbox2.dbo.customer_master as m
WHERE s.[Account #] =
m.customer_number)
试试这个:
SELECT [Account #], Accounts, [Prior Annual], [Prior Annual1], [Prior Annual2]
FROM Sandbox1.dbo.SalesHistory as s
where s.[Account #] not in (select [Account #] from Sandbox2.customer_master)
您能分享一些示例数据和您想要实现的结果吗?s.[Account#]和m.customer#u number的数据类型是什么?根据错误消息,一个似乎是整数,另一个是字符……一个是int,另一个是varchar
SELECT [Account #], Accounts, [Prior Annual], [Prior Annual1], [Prior Annual2]
FROM Sandbox1.dbo.SalesHistory as s
WHERE NOT EXISTS
(SELECT *
FROM Sandbox2.dbo.customer_master as m
WHERE convert(nvarchar,s.[Account #]) =
convert(nvarchar,m.customer_number))