首页 > 解决方案 > 从 SQL Server 中的另一个表创建一个表

问题描述

我正在尝试在 SQL Server 中创建下表:

Id   Had_appointment      Date        Month     Year   Clinic
1          1           2019-01-03    January    2019      A
1          1           2019-01-05    January    2019      B
5          1           2019-04-03     April     2019      C

从以下:

Id    Admin_codes         Date        Clinic
1         AAA2         2019-01-03       A
1         D22S         2019-01-03       A
1         FFD3         2019-01-05       B
1         E222         2019-01-05       B
5         EEE1         2019-04-03       C
5         P332         2019-04-03       C
5         AA33         2019-04-03       C
5         XC22         2019-04-03       C
6         A000         2019-02-19       C
7         A999         2019-03-11       C

我怎样才能做到这一点?我不想在我的表中包括任何 1) 没有约会和 2) 具有特定 Admin_codes 的个人,例如“A000”和“A999”。提前致谢。

标签: sqlsql-serverjoin

解决方案


我们可以通过为约会选择不同的记录来做到这一点(将除“A000”和“A999”之外的每个 admin_code 视为约会)。

SELECT DISTINCT t.Id, '1' AS 'Had_appointment', t.[date], datename(month, [date]) [Month], year([date]) [Year], t.Clinic
FROM @t t   
WHERE Admin_codes NOT IN ('A000', 'A999')

在此处查看演示。


推荐阅读