下面的语句将从OpenQuery(MYSQL)返回值。
Select * From OpenQuery(MYSQL, 'Select * From ResearchRpt') a
Where Not Exists (Select * From dbo.ResearchRpt where Id_report = a.Id_report)
我想在结果值应该是dbo.ResearchRpt的地方颠倒它
谢谢。
发布于 2012-05-03 05:50:40
您的查询使用了反联接。反联接可以使用LEFT JOIN
+ WHERE IS NULL
以及NOT EXISTS
来实现。因此,将您的脚本转换为LEFT JOIN版本,交换两边,您就完成了:
SELECT ms.*
FROM dbo.ResearchRpt ms
LEFT JOIN OPENQUERY(MYSQL, 'SELECT * FROM ResearchRpt') my
ON my.Id_report = ms.Id_report
WHERE my.Id_report IS NULL
发布于 2012-06-12 06:43:34
-- Only exists
SELECT ms.*, my.Id_report
FROM dbo.ResearchRpt ms
LEFT JOIN OPENQUERY(MYSQL, 'SELECT * FROM ResearchRpt') my
ON my.Id_report = ms.Id_report
WHERE my.Id_report IS NOT NULL
https://stackoverflow.com/questions/10409783
复制相似问题