SELECT DISTINCT
,PH.PHONE_TYPE_CD
,PH.PHONE_NUM
FROM PERSON P
LEFT JOIN PHONE PH
ON PH.PARENT_ENTITY_ID = P.PERSON_ID
AND PH.PARENT_ENTITY_NAME = 'PERSON'
AND PH.PHONE_TYPE_CD = ?
AND PH.ACTIVE_IND = 1
LEFT JOIN PHONE PH
ON PH.PARENT_ENTITY_ID = P.PERSON_ID
AND PH.PARENT_ENTITY_NAME = 'PERSON'
AND PH.PHONE_TYPE_CD = ?
AND PH.ACTIVE_IND = 1
LEFT JOIN PHONE PH
ON PH.PARENT_ENTITY_ID = P.PERSON_ID
AND PH.PARENT_ENTITY_NAME = 'PERSON'
AND PH.PHONE_TYPE_CD = ?
AND PH.ACTIVE_IND = 1
Hier PHONE_TYPE_CD
wird von der Java-Seite und auf der Grundlage der PHONE_TYPE_CD
weitergegeben werden, sollte die Abfrage ausführen und Ergebnisse zurück.die gleiche Tabelle dreimal und abrufen eine Spalte von jenen
Da ich neu in SQL bin, bin ich nicht sicher, wie dies zu erreichen ist. Ich verstehe die ganze 3 verbindet Aliase wie PHONE PH1, PHONE PH2
und so weiter .. Meine Frage ist, kann ich wie unten ein und erhalten die PHONE_NUM
auf dem übergebenen PHONE_TYPE_CD
basierten Code haben sollte:
SELECT DISTINCT
,PH1.PHONE_TYPE_CD
,PH1.PHONE_NUM
,PH2.PHONE_TYPE_CD
,PH2.PHONE_NUM
,PH3.PHONE_TYPE_CD
,PH3.PHONE_NUM
FROM PERSON P
LEFT JOIN PHONE PH1
ON PH1.PARENT_ENTITY_ID = P.PERSON_ID
AND PH1.PARENT_ENTITY_NAME = 'PERSON'
AND PH1.PHONE_TYPE_CD = ?
AND PH1.ACTIVE_IND = 1
LEFT JOIN PHONE PH2
ON PH2.PARENT_ENTITY_ID = P.PERSON_ID
AND PH2.PARENT_ENTITY_NAME = 'PERSON'
AND PH2.PHONE_TYPE_CD = ?
AND PH2.ACTIVE_IND = 1
LEFT JOIN PHONE PH3
ON PH3.PARENT_ENTITY_ID = P.PERSON_ID
AND PH3.PARENT_ENTITY_NAME = 'PERSON'
AND PH3.PHONE_TYPE_CD = ?
AND PH.ACTIVE_IND = 1
Ich habe Zweifel an der Wiedergewinnungsteil.
Bitte Beispieldaten und erwartete Ausgabe hinzufügen. –
PHONE_TYPE_CD enthält Daten wie HOME, BUSINESS, OFFICE. Also, wenn die PHONE_TYPE_CD HOME ist, möchte ich die PHONE_NUM dieses Typs abrufen –
Versuchen Sie, uns eine Beispieldatenstruktur zu geben, so können wir Ihnen eine Antwort auf Ihre Frage geben, nicht nur einfach Ihre Bedingung angeben. –