Forum
Wenn nur die KundenID benötigt wird, dann ist der Join auf die Kundentabelle unnötig. Nimm einfach V.ID statt K.ID
SELECT V.ID, B.BUCHNAME Â Â
FROM Â Â
DB2B.VERBINDUNGSTAB V
INNER JOIN Â
DB2B.BUCHTAB B Â Â
ON B.BUCHNR = V.BUCHNR Â
WHERE Â EXISTS Â
(SELECT * Â Â
FROM DB2B.VERBINDUNGSTAB VT Â Â
WHERE VT.ID = V.ID Â
GROUP BY VT.ID
HAVING COUNT(*) > 1
)
Alternativ ist auch diese Lösung möglich
SELECT V.ID, B.BUCHNAME Â Â
FROM Â Â
DB2B.VERBINDUNGSTAB V
INNER JOIN Â
DB2B.BUCHTAB B Â Â
ON B.BUCHNR = V.BUCHNR Â Â
WHERE V.ID IN
(
SELECT V2.ID
FROM DB2B.VERBINDUNGSTAB V2
GROUP BY ID
HAVING COUNT(*)> 1 )
weitere Alternative:
SELECT V.ID, B.BUCHNAME
FROM
DB2B.VERBINDUNGSTAB V
INNER JOIN
DB2B.BUCHTAB B
ON B.BUCHNR = V.BUCHNR
WHERE 2 >=
(SELECT COUNT(*)
FROM DB2B.VERBINDUNGSTAB VT
WHERE VT.ID = V.ID )
am besten mal alle drei ausprobieren / explainen und das mit der besten Performance auswählen