是否有可能根據條件返回所有行?例如:返回找到並找不到的行
SELECT
*
FROM
TABLE
WHERE
USER IN ('A', 'B', 'C')
在上述例子中,如果有一個用戶A,將只返回,B和C,如果C不存在的用戶將只返回2行,A和B.我想有3行,C有空。
謝謝。
是否有可能根據條件返回所有行?例如:返回找到並找不到的行
SELECT
*
FROM
TABLE
WHERE
USER IN ('A', 'B', 'C')
在上述例子中,如果有一個用戶A,將只返回,B和C,如果C不存在的用戶將只返回2行,A和B.我想有3行,C有空。
謝謝。
你可以使用這個在這裏
SELECT
t1.[user],
t.*
FROM
(
SELECT 'A' [user]
UNION ALL
SELECT 'B'
UNION ALL
SELECT 'C'
) t1
LEFT JOIN
table_name t
ON t.[user] = t1.[user];
感謝您的分享。 – Khrys
您可以LEFT優勢加盟..
WITH cte AS
(SELECT 'a' AS user UNION ALL
SELECT 'b'
SELECT 'c'
)
SELECT * FROM cte
LEFT JOIN tablename ON yourcolumnName = user
感謝您的分享。 – Khrys
的CTE返回A,B和C行。外部加入該cte。 – jarlh