2017-02-26 7 views
0

Ich verwende derzeit die folgende Abfrage, um die Daten zu ziehen, die in 4 Zeilen für den gleichen Beispieldatensatz dargestellt werden, und möchte, dass es in 1 pro Beispiel abgeflacht wird. Das Anfügen der Abfrageergebnisse für Informationen wird jede Hilfe sehr geschätzt.So reduzieren Sie die abgefragten Daten

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 

Antwort

0

Ich glaube, Sie müssen präziser. Es gibt keine Tabelleninformationen. was ist pk und was nicht. Nur kann ich jetzt sagen, dass Sie der gleichen Tabelle beitreten müssen, wenn Sie Zeilen verflachen möchten. Wenn Sie die Antwort mit der Abfrage erhalten möchten, müssen Sie die Informationen Ihrer Tabellen schreiben und andere können den Leuten helfen, Ihre Frage zu beantworten.

+0

Es gibt 3 Tabellen verwendet werden Aliquot, Aliquot_User und Probe. Der Primärschlüssel in der Aliquot- und Aliquot_USER-Tabelle ist Aliquot ID und in der Probentabelle ist SAMPLE_ID. Aliquot und Aliquot_User sind die Kinder auf dem System für ein bestimmtes System und sie haben Sample ID Informationen. – riten

0

Soweit ich Ihre Daten verstehe, haben Sie 4 Einträge in Ihrer Tabelle mit verschiedenen a.aliquot_type ('DNA Extracted', 'Bibliothek', 'Target Enrichment', 'DNA Plasma'). Und Sie möchten 4 Spalten mit dem entsprechenden Aliquot_Name angeben (einen für 'DNA Extracted' usw.).

Sie könnten 4 Spalten mit einem subselect verwenden, wo Sie die entsprechenden Daten aus aliquoten lesen und daher müssen Sie die Verbindung

a.aliquot_id = au.aliquot_id 

Zum Beispiel beenden:

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, ... 
Verwandte Themen