长期潜伏者,第一次海报。我已经在这个项目上工作了一段时间,似乎正在碰壁。我浏览了很多关于查询等价的帖子,但没有一个适用。在这一点上,我想知道我是否可以在 SQL 中做到这一点,或者我是否需要编写一个程序来完成繁重的工作。所以无论如何,这里是:
我有两个实验室,实验室 A 和实验室 B,它们都有纲要(综合测试清单)。我试图通过为每个实验室创建一个订单代码表、为每个实验室创建一个结果表以及为每个实验室创建一个订单到结果表,从而尽我所能对纲要进行规范化。
Lab A
LabA_Order_Codes
LabA_Order_Code LabA_Order_Desc
000455 Thyroid Panel
000620 Thyroid Panel with TSH
...
999706 ECG Tracing/Computer Analysis
LabA_Order_Result_Code_Id LabA_Order_Code LabA_Result_Code
1 000455 001149
2 000455 001156
3 000455 001164
4 000620 004264
5 000620 001149
6 000620 001156
7 000620 001164
...
19495 999706 999706
LabA_Result_Codes
LabA_Result_Code LabA_Result_Desc LabA_Result_LOINC
001149 Thyroxine (T4) 3026-2
001156 T3 Uptake 3050-2
001164 Free Thyroxine Index 32215-6
...
004264 TSH 11579-0
...
999706 ECG Interpretation 11524-6
Lab B
LabB_Order_Codes
LabB_Order_Code LabB_Order_Desc
7020 Thyroid Panel
7444 Thyroid Panel with TSH
...
95594 Retest Phenobarbital
LabB_Order_Result_Code_Id LabB_Order_Code LabB_Result_Code
...
10780 7020 55075100
10781 7020 55075200
10782 7020 55075300
...
20579 7444 55075100
20580 7444 55075200
20581 7444 55075300
20582 7444 55075400
...
19495 95594 99950100
LabB_Result_Codes
LabB_Result_Code LabB_Result_Desc LabB_Result_LOINC
55075100 Thyroxine (T4) 3026-2
55075200 T3 Uptake 3050-2
55075300 Free Thyroxine Index 32215-6
55075400 TSH 11579-0
...
99950100 Phenobarbital 11524-6
我想要完成的是填充一个单独的表,该表在 LOINC 代码相同时导出订单代码(这表明正在执行相同的测试)。如果 LOINC“指纹”是唯一的,则该行中其他实验室的订单代码为空,但常见的“指纹”都在同一行。因此,当 LOINC 代码 3026-2、3050-2 和 32215-6 一起出现时,应在同一行中为实验室 A 和实验室 B 输入相应的订单代码。对不起,输入太长了,但我想彻底解释一下!
万一这对我使用 MySQL 5.6 的任何人都很重要。
Target Table
Test_Id Test_Desc LabA_Order_Code LabB_Order_Code
1 Thyroid Panel 000455 7020
2 Thyroid Panel w/TSH 000620 7444
...
3490 ECG Interpretation 999706 null
...
4210 Retest Phenobarbital null 95594