2017-11-24 1 views
0

Der Versuch, zurückzukehren eine Pivot-Tabelle in SQL zu erstellen Datumswerten zurückzukehren, noch nie gemacht, aber ich habe in eine Wand und nur return ‚Null‘ Werte laufen. Ist es möglich, Datumswerte zurückzugeben? Schätze jede Hilfe! Abfrage unter:schwenken zu erstellen Versuch und Datumswerte

SELECT SYS_ID, JOB_ID, 
[JOB_OPENED] AS A, [JOB_ENDED] AS B, [ROW_CONSTRUCTED] AS C, [SITE_CONSTRUCTED] AS D, [CONTRACT_ASBUILT_COMPLETE] AS E, [FIBER_ASBUILT_COMPLETE] AS F, [COAX_ASBUILT_COMPLETE] AS G, [JOB_RECONCILED] AS H 
FROM 
(SELECT COMPLETION_DATE, DATE_MILESTONE_NAME, SYS_ID, JOB_ID 

FROM EIMS.JOB_MILESTONES_RV) AS RV 
PIVOT 
(MAX(COMPLETION_DATE) 
FOR DATE_MILESTONE_NAME IN ([JOB_OPENED], [JOB_ENDED], [ROW_CONSTRUCTED], [SITE_CONSTRUCTED], [CONTRACT_ASBUILT_COMPLETE], [FIBER_ASBUILT_COMPLETE], [COAX_ASBUILT_COMPLETE], [JOB_RECONCILED]) 
) AS PivotTable 
WHERE JOB_ID > 40000 
AND SYS_ID = 8778 
ORDER BY JOB_ID 

Dies ist die aktuelle Tabelle: enter image description here

aber ich will es so aussehen: enter image description here

+0

Bitte geben einige Details wie die Ausgabe, die Sie erwartet haben. – lucky

+0

Welches [DBMS] (https://en.wikipedia.org/wiki/DBMS) Produkt verwenden Sie? "SQL" ist nur eine Abfragesprache, nicht der Name eines bestimmten Datenbankprodukts (und Ihre Abfrage ist Nicht-Standard-SQL) –

Antwort

0

Try this -

SELECT SYS_ID 
     ,JOB_ID 
     ,MAX(CASE WHEN DATE_MILESTONE_NAME = 'JOB OPENED' THEN COMPLETION_DATE END) AS "JOB OPENED" 
     ,MAX(CASE WHEN DATE_MILESTONE_NAME = 'JOB ENDED' THEN COMPLETION_DATE END) AS "JOB ENDED" 
     ,MAX(CASE WHEN DATE_MILESTONE_NAME = 'SITE CONSTRUCTED' THEN COMPLETION_DATE END) AS "SITE CONSTRUCTED" 
FROM YOUR_TABLE 
GROUP BY SYS_ID 
     ,JOB_ID 
+0

Ja! Ich danke dir sehr! – ART

Verwandte Themen