Guten Abend!
Ich möchte aus einer Tabelle TB_M in einer DB2-DB alle Datensätze selektieren, die bei einer gleichen S_NR und bei einer gleichen M_NR sowohl die M_NR = 6 als auch die M_NR = 7 haben. Mit anderen Worten: Es gibt einen Datensatz mit einer S_NR und einer M_NR, der hat in dem Feld M_NR den Wert 6. Und es gibt einen Datensatz, der die die gleiche S_NR und die gleiche M_NR hat wie der eben genannte Datensatz, aber in dem Feld M_NR den Wert 7 hat. Nur diese beiden Datenstäze möchte ich ermitteln.
Leider erhalte ich in diesem SELECT nicht nur die gesuchten Datensatzpaare, sondern auch einen Datensatz, der nur einen der beiden mögliichen Zahleneinträge (6 bzw. 7) in M_NR hat.
Nach meinen Aufzeichnungen entspricht das IN einem logischen oder. Ich benötige aber ein logisches UND.
Könnte mir bitte jemand weiterhelfen, meine SQL.Kenntnisse sind zu klein.
Vielen Dank!!
Ich möchte aus einer Tabelle TB_M in einer DB2-DB alle Datensätze selektieren, die bei einer gleichen S_NR und bei einer gleichen M_NR sowohl die M_NR = 6 als auch die M_NR = 7 haben. Mit anderen Worten: Es gibt einen Datensatz mit einer S_NR und einer M_NR, der hat in dem Feld M_NR den Wert 6. Und es gibt einen Datensatz, der die die gleiche S_NR und die gleiche M_NR hat wie der eben genannte Datensatz, aber in dem Feld M_NR den Wert 7 hat. Nur diese beiden Datenstäze möchte ich ermitteln.
Leider erhalte ich in diesem SELECT nicht nur die gesuchten Datensatzpaare, sondern auch einen Datensatz, der nur einen der beiden mögliichen Zahleneinträge (6 bzw. 7) in M_NR hat.
Code:
SELECT TB_M.S_NR, TB_M.M_NR FROM TB_M a WHERE a.AKT = 1 AND EXISTS (SELECT 'X' FROM TB_M b WHERE b.S_NR = a.S_NR and b.M_NR = 6 ) AND EXISTS (SELECT 'X' FROMTB_M c WHERE c.S_NR = a.S_NR and c.M_NR = 7 ) AND M_NR IN (6, 7)
Könnte mir bitte jemand weiterhelfen, meine SQL.Kenntnisse sind zu klein.
Vielen Dank!!
Comment