如何为 sql cmd 导出嵌入 if 语句

how to embed if statement for sql cmd export

我有一个运行并导出 CSV 文件的 SQL cmd。如何与查询中返回的字段进行比较,并根据这些字段在导出中显示文本?它有 "Title" 部分,我想比较 2 个字段 "First_Unit" 和 "Unit"。如果它们相等,我想添加文本 "Primary",如果它们不相等,那么我想要 "Backup"。所以它在本节中,这是逻辑上的样子:'BWC - ' + UPPER(Complaint) + 'Primary' ELSE 'Backup' 作为标题。因此,我希望在该列中此数据的末尾显示 2 个文本。

谢谢 TJ

这是原始查询:

sqlcmd -S PDCAD -d Ver2_CAD -E -Q "select Active_Calls.Call_Number AS 'Event ID',Officer_IDs AS 'Officer Badge ID', Date_Received AS 'Officer Dispatched DateTime',Time_Complete AS 'Officer Cleared DateTime',Active_Calls.Call_Number AS 'Report Number',UPPER(Complaint) AS 'Category', '' as Tag,'BWC - ' + UPPER(Complaint) as Title,Actual_Incid_Location AS 'Street',Actual_Incid_City AS 'City', ISNULL(Actual_Incid_State,'CT') AS 'State', RIGHT('0'+CONVERT(VARCHAR,Actual_Incid_ZIP),5) AS 'ZIP Code' from Active_Calls INNER JOIN CALLUNITDATA CALLUNITDATA ON Active_Calls.Call_Number=CALLUNITDATA.Call_Number WHERE Officer_IDs <> 'NHFD' AND Officer_IDs <> 'POST53' AND Officer_IDs <> 'POST54' AND Officer_IDs <> 'POST52'  AND Officer_IDs <> 'DFD' AND Officer_IDs <> 'NFD' AND Officer_IDs <> 'DFD3' AND Officer_IDs <> 'NHFD2' AND Officer_IDs <> 'UNIT50' AND Officer_IDs <> 'NFD2' AND Officer_IDs <> 'DFD2' AND Officer_IDs <> '1129'AND Officer_IDs <> '2120' AND Officer_IDs <> '0341' AND Officer_IDs <> 'MOB.UNIT51' AND Officer_IDs <> '3540' AND Date_Received >= DATEADD(day, -4, GETDATE()) ORDER BY Date_Received" -o "C:\TaserExportFolder\MyData.csv" -h 852544 -s"," -w 700 -W

您可以像这样使用 CASE 语句:

'BWC - ' + UPPER(Complaint) + (CASE WHEN First_Unit = Unit THEN 'Primary' ELSE 'Secondary' END) As Title

参见: http://sqlfiddle.com/#!6/439e14/1