编辑:在注释中添加了另一个案例场景并更新了示例附件。
我正在尝试编写一个 sql 来获取附带此问题的输出以及示例数据。有两张表,一张具有不同的 ID (pk) 及其当前标志。另一个具有活动ID(从第一个表中fk到pk)和非活动ID(从第一个表中fk到pk)最终输出应返回两列,第一列由第一个表中的所有不同ID组成,第二列应包含第二个表中的活动 ID。下面是sql:
IF OBJECT_ID('tempdb..#main') IS NOT NULL DROP TABLE #main;
IF OBJECT_ID('tempdb..#merges') IS NOT NULL DROP TABLE #merges
IF OBJECT_ID('tempdb..#final') IS NOT NULL DROP TABLE #final
SELECT DISTINCT id,
current
INTO #main
FROM tb_ID t1
--get list of all active_id and inactive_id
SELECT DISTINCT active_id,
inactive_id,
Update_dt
INTO #merges
FROM tb_merges
-- Combine where the id from the main table matched to the inactive_id (should return all the rows from #main)
SELECT id,
active_id …Run Code Online (Sandbox Code Playgroud) 我有一个场景,我正在努力SQL Server Reporting Services创建表格报告,但陷入了一个点,即我得到一列的重复值。以下是代码的示例输出:
AppID EmpID EmpName
2002912 81555 NULL
2002912 81588 Jenn - 81588
2026880 9328 NULL
2026880 9628 Brad - 09628
2027065 92174 Julie - 92174
2027065 92714 NULL
2028989 72138 NULL
2028989 91366 Alan - 91366
2029233 17438 NULL
2029233 53712 Brad - 53712
2031585 37902 NULL
2031588 17723 Richard - 17723
2031591 54551 Paula - 54551
2031593 52240 Sarah - 52240
2031597 72778 Daisy - 72778
2031603 12659 NULL
Run Code Online (Sandbox Code Playgroud)
请注意,第一个 coulmn ( AppID) …
我正在编写一个SQL查询来创建这样的计算列:(代码的简化版本)
SELECT CUST_ID, NAME, ADDRESS,
CASE WHEN STIP_ID = 20 AND STATUS = 'OPEN' THEN 'YES' ELSE 'X' END AS COL1,
CASE WHEN STIP_ID = 21 AND STATUS = 'OPEN' THEN 'YES' ELSE 'X' END AS COL2,
CASE WHEN STIP_ID = 22 AND STATUS = 'OPEN' THEN 'YES' ELSE 'X' END AS COL3,
CASE WHEN STIP_ID = 23 AND STATUS = 'OPEN' THEN 'YES' ELSE 'X' END AS COL4,
CASE WHEN STIP_ID = 24 AND STATUS = 'OPEN' THEN 'YES' …Run Code Online (Sandbox Code Playgroud)