【发布时间】:2017-07-15 12:13:06
【问题描述】:
我有一个运行并导出 CSV 文件的 SQL cmd。如何与查询中返回的字段进行比较并根据这些字段在导出中显示文本?在它有“标题”部分的地方,我想比较 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 语句,但它导致了错误。
-
您的 CASE 是什么样的,错误是什么?
-
问题是我没有在 () 中包含 CASE 语句,所以它在处理查询时出错。我不记得确切的错误是什么。
标签: sql csv export-to-csv