我的google foo失败了,我无法找到答案。 我有两个表,一个卖方表和一个交易表。 卖方可能有多笔交易或没有交易。 我想为每个卖家输出一行,如果他们有一个交易类型101,则将其与卖家名称一起输出。如果仍未输出卖方,则将交易类型保留为空。
当前查询:
SELECT dbo.seller.de_name, dbo.de_transaction.tr_type
FROM dbo.seller LEFT OUTER JOIN
dbo.de_transaction ON dbo.seller.de_rowid =
dbo.de_transaction.tr_rowid_debtor
WHERE (dbo.de_transaction.tr_type = N'101') OR
(dbo.de_transaction.tr_type IS NULL)
鲍勃史密斯正在输出,因为他有101,Jane Doe输出是因为她没有交易,但John Doe不是因为他有交易,而是因为他没有101型。
一个SQL小提琴将比我能更好地解释这一点。
http://sqlfiddle.com/#!6/efc87/1
谢谢!非常感谢。
答案 0 :(得分:1)
Geez太容易了。 我不应该使用where子句。
SELECT dbo.seller.de_name, dbo.de_transaction.tr_type
FROM dbo.seller LEFT OUTER JOIN
dbo.de_transaction ON dbo.seller.de_rowid =
dbo.de_transaction.tr_rowid_debtor AND dbo.de_transaction.tr_type = N'101'