2017-02-26 17 views
0

我目前正在使用下面的查詢來拉取相同樣本記錄中4行所表示的數據,並希望將其平鋪爲每個樣本1個流。附加查詢結果的任何幫助信息,非常感謝。如何將查詢數據變平

select s.name as CRF, a.name as Aliquot_Name, a.aliquot_type, au.u_step_yield as Step_Yield, au.u_step_concentration as Step_Concentration, au. u_pooled_plasma_volume as Pooled_Plasma_volume 
from aliquot a 
join aliquot_user au on a.aliquot_id = au.aliquot_id 
join sample s on s.sample_id = a.SAMPLE_ID 
where a.aliquot_type in ('DNA Extracted', 'Library', 'Target Enrichment', 'DNA Plasma') 
order by s.name desc, a.aliquot_type, a.name, au.u_step_yield, au.u_step_concentration, au.u_pooled_plasma_volume; 
CRF ALIQUOT_NAME ALIQUOT_TYPE STEP_YIELD STEP_CONCENTRATION POOLED_PLASMA_VOLUME 
CRF007650 PE-0046758 DNA Plasma   10 
CRF007650 LCNL-47275 Library 2,178 36 
CRF007650 HCNLS-47467 Target Enrichment 105 2 
CRF007649 1146667362 DNA Extracted 451 6 
CRF007649 PE-0046774 DNA Plasma   10 
CRF007649 LCNL-47291 Library 3,543 59 
CRF007649 HCNLS-47483 Target Enrichment 132 2 
CRF007648 1146668498 DNA Extracted 166 2 
CRF007648 PE-0046755 DNA Plasma   9 
CRF007648 LCNL-47272 Library 3,881 65 
CRF007648 HCNLS-47463 Target Enrichment 381 6 
CRF007647 1146635220 DNA Extracted 29 0 
CRF007647 PE-0046764 DNA Plasma   8 
CRF007647 LCNL-47281 Library 1,274 21 
CRF007647 HCNLS-47473 Target Enrichment 57 1 
CRF007646 1146736347 DNA Extracted 67 1 

回答

0

我認爲你必須更加具體。 沒有表格的信息。這是PK,哪些不是。 現在我只能說,如果你想壓平行,你必須加入同一張桌子。 如果你想用查詢得到答案,你必須編寫你的表格信息,其他人可以幫助人們回答你的問題。

+0

有正在使用的3臺分裝,Aliquot_User和樣品。 Aliquot和Aliquot_USER表上的主鍵是Aliquot ID,樣品表上的主鍵是SAMPLE_ID。 Aliquot和Aliquot_User是系統上的一個給定系統的孩子,他們有樣品ID信息。 – riten

0

據我瞭解你的數據,你在表格a中有4個不同的a.aliquot_type('DNA Extracted','Library','Target Enrichment','DNA Plasma')。並且你想給4列提供相應的Aliquot_Name(一個用於'DNA Extracted'等)。

你可以使用4列與子查詢你來自哪裏等分讀取相應的數據,因此你必須退出加盟

a.aliquot_id = au.aliquot_id 

例如:

select s.name as CRF, (select a.aliquot_type from aliquot where a.aliquot_type = 'DNA Extracted' and ....) col1, (select a.aliquot_type from aliquot where a.aliquot_type = 'Library' and ....) col2, ...