Voici ma requête jusqu'ici:SQL - Grab lignes de détails comme les colonnes Rejoindre
select C.ACCOUNTNO,C.CONTACT,KEY1,KEY4 from contact1 C
left join CONTSUPP CS on C.accountno=CS.accountno
where
C.KEY1!='00PRSP'
AND (C.U_KEY2='2009 FALL'
OR C.U_KEY2='2010 SPRING'
OR C.U_KEY2='2010 J TERM'
OR C.U_KEY2='2010 SUMMER')
Maintenant, j'ai une autre table (CONTSUPP) qui contient plusieurs enregistrements détaillés pour chaque enregistrement CONTACT1. Par exemple - GPA de lycée, SAT, ACT, etc. J'ai besoin de tirer ces valeurs dans la même ligne que mes résultats de contact1 - mais déterminez l'en-tête de colonne basé sur l'information dans la colonne. Par exemple, je sais que je pourrais faire ceci:
select C.ACCOUNTNO,C.CONTACT,KEY1,KEY4,STATE from contact1 C
left join CONTSUPP CS on C.accountno=CS.accountno
where
C.KEY1!='00PRSP'
AND (C.U_KEY2='2009 FALL'
OR C.U_KEY2='2010 SPRING'
OR C.U_KEY2='2010 J TERM'
OR C.U_KEY2='2010 SUMMER')
Ne demandez pas pourquoi (svp) - mais l'état tient les valeurs de catégorie. Le problème est que cela me donne notes sans dire quel type de notes, donc je dois faire quelque chose comme ça (pseudo):
select C.ACCOUNTNO,C.CONTACT,C.KEY1,C.KEY4,
STATE as GPA when CS.CONTACT='High School'
STATE as SAT when CS.CONTACT='Test/SAT'
..
from contact1 C
left join CONTSUPP CS on C.accountno=CS.accountno
where
C.KEY1!='00PRSP'
AND (C.U_KEY2='2009 FALL'
OR C.U_KEY2='2010 SPRING'
OR C.U_KEY2='2010 J TERM'
OR C.U_KEY2='2010 SUMMER')
aide?
Deux questions rapides. Le premier est que j'essaie d'ajouter deux valeurs ensemble comme suit: OFF_SAT_COMP.LINKACCT + SLF_ACT_COMP.COUNTRY en tant que 'SAT - Composite' - mais il suffit de joindre les deux valeurs - ne les ajoute pas. Deuxièmement, cette requête semble aboutir à plusieurs lignes dans certains cas pour certaines personnes. – davemackey
J'ai ajouté un échantillon pour inclure uniquement le score le plus élevé. Pour ce qui est de votre autre problème, je devine linkacct et le pays ne sont pas des champs numériques.Vous devrez faire la conversion avant d'ajouter par exemple CAST (linkaccount as int) + CAST (country as int) –