【发布时间】:2021-12-07 15:19:43
【问题描述】:
SELECT Col1, Col2, Col3
FROM Table
结果集:(样本表)
Col1 Col2 col3
----------- ---------- -----------
Value Value Value
Value Value Value
Value Value Value
Value Value Value
Value Value Value
使用 NULL/空值显示 Col3(如果需要,假设 Col3 支持 NULL)除了 col1 条件为 true 的行(=values)保持值打开所有行的 Col2。
条件如( WHERE Col > 2| WHERE chareindex( 'x' , Col1 )等)
表格最终结果:(此处的条件适用于第 2 行和第 5 行)
Col1 Col2 col3
----------- ---------- -----------
1 Value Value NULL
2 Value Value Value
3 Value Value NULL
4 Value Value NULL
5 Value Value Value
问题的更多表达方式:
SELECT EmployeeID, Firstname, Lastname,
From Employees
结果集:
EmployeeID FirstName LastName
----------- ---------- --------------------
1 Nancy Davolio
2 Andrew Fuller
3 Janet Leverling
4 Margaret Peacock
5 Steven Buchanan
6 Michael Suyama
7 Robert King
让我们说在上面的代码中有一个employeeID 和employeeID 3 和6 符合该条件的条件
我希望实现:
EmployeeID FirstName LastName
----------- ---------- --------------------
1 Nancy NULL
2 Andrew NULL
3 Janet Leverling
4 Margaret NULL
5 Steven NULL
6 Michael Suyama
7 Robert NULL
应采用什么条件以及如何实现此结果集
- 您可以完全更改“基本代码”
- 您不知道“姓氏”col(或 col3)上的值
- 您必须为错误条件值保留所有行和列值
- 桌子很大
另一种提问方式:(根据问题的第一段)
对于 col1 中的值对某个条件/s 为真的行,显示 Col3 中的值,如果不显示 NULL/空,并保留所有行的 col2 值。
【问题讨论】:
-
正确的样本数据和预期输出为
CREATE TABLEINSERT将有很大帮助 -
感谢您轻描淡写地采取行动并指出此处的不足
标签: sql-server tsql ssms