我的谷歌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)
Bob Smith 正在输出,因为他有一个 101,Jane Doe 正在输出,因为她没有交易,但 John Doe 不是因为他有交易,而是不是类型 101。 SQL 小提琴会比我更好地解释这一点。 http://sqlfiddle.com/#!6/efc87/1
谢谢!非常感谢。
天哪,这太容易了。 我不应该使用 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'