我使用了以下查询:
OrderMaster
桌子:
OrderId
UserId - F.K
Users
桌子:
Id - P.K
Name
Email
Mobilenumber
询问:
SELECT
CAST(o.Id as varchar(50)) as ID,
CAST(o.Name as varchar(50)) as Name,
CAST(o.ContactNumber as varchar(50)) as Mobilenumber,
o.Email
FROM
ordermaster as t1
INNER JOIN
Users as o ON t1.UserId<> o.Id
结果看起来像这样:
Id Name Mobilenumber Email
-------------------------------------------
1 xxxx 252548878 [email protected]
2 yyyy 422557879 [email protected]
1 xxxx 252548878 [email protected]
2 yyyy 422557879 [email protected]
为什么相同的结果会多次返回?请澄清一下。
由于您的联接条件是<>而不是=,因此User中的每个记录将与Ordermaster中具有不同ID的所有记录联接,从而多次给出相同的结果。如果要获取不在Ordermaster中的所有用户,则可以执行以下操作:
SELECT ...
FROM Users u
WHERE NOT EXISTS (SELECT * FROM ordermaster WHERE u.Id = Id)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句