我正在通过 SQL 生成 Excel 报告,但知识有限。
到目前为止我所拥有的内容如下:
SELECT table.field "Column1",
table2.field2 "Column2",
table3.field3 "Column3",
table4.field4 "Column4",
from table, table2 etc
有很多规则
我需要的是根据表中的字段(类似于 5 个输入字符串之一)向报告添加第五列。然后我需要返回 5 个不在该字段中的输出字符串中的 1 个。
伪代码示例:
if table.field like one return eleven
if table.field like two return twelve
if table.field like three return thirteen
if table.field like four return fourteen
if table.field like five return fifteen
然后我需要将返回的值填充到报告的第五列中。
如果有人可以帮助我或为我指明正确的方向,我将不胜感激。如果有什么问题可以问我,请拍。
谢谢。
最佳答案
示例:
USE AdventureWorks2008R2;
GO
SELECT ProductNumber, Category =
CASE ProductLine
WHEN 'R' THEN 'Road'
WHEN 'M' THEN 'Mountain'
WHEN 'T' THEN 'Touring'
WHEN 'S' THEN 'Other sale items'
ELSE 'Not for sale'
END,
Name
FROM Production.Product
ORDER BY ProductNumber;
GO
编辑
要查找子字符串,请尝试 CHARINDEX:
USE AdventureWorks2008R2;
GO
SELECT FirstName, LastName, TelephoneNumber, 'NewField' =
CASE
WHEN CHARINDEX('testString1', Address) > 0 THEN 'Value1'
WHEN CHARINDEX('testString2', Address) > 0 THEN 'Value2'
WHEN CHARINDEX('testString3', Address) > 0 THEN 'Value4'
ELSE 'Value4'
END
FROM Person.vAdditionalContactInfo;
关于SQL:在字段上使用 like 命令在 SQL 输出中设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5732448/