【发布时间】:2017-10-28 04:28:26
【问题描述】:
我正在尝试在 SQL Server 上完成此操作。最简单的数据表结构如下所示。
Table:Blog
BlogID, Title
----------------
1, FirstBlog
23, Pizza
Table:User
UserID, Name
-------------------
123, james
444, John
Table:UserBlogMapping
UserBlogMappingID, BlogID,UserID
----------------------------------
1, 1, 123
我想在一个 SQL 查询中获取 FormID 和 UserBlogMappingID。如果提供的 UserID 不在映射表中,则返回零,否则返回有效的 userBlogMappingID。我正在尝试运行以下查询,但它不正确。
SELECT
B.BlogID,
BUM.BlogUserMappingID
FROM
Blog AS B
LEFT JOIN BlogUserMapping AS BUM ON B.BlogID = BUM.BlogID
WHERE
(B.BlogID = 23) -- it exists in the table
AND BUM.userID = 444 -- it is NOT in the mmaping table but i want a ZERO return in such case
假设: 我们可以假设 WHERE 子句中提供的 UserID 始终是有效的 UserID 并且存在于 User 表中。
【问题讨论】:
标签: sql sql-server select outer-join