Zitat von
Flocke:
SQL-Code:
select Tabelle1.Id, count(Tabelle2.Id)
from Tabelle1
inner join Tabelle2 on Tabelle2.Link=Tabelle1.Id
having count(Tabelle2.Id)>1
Richtige Tabellen- und Feldnamen musst du einsetzen.
Und die Gruppierung nicht vergessen.
Da Gruppierungen den Optimizer ad absurdum führen, wäre ich für einen ähnlichen Weg wie Flocke: Nur die PKs der betreffenden Datensätze holen... (Also Lösung 2)
SQL-Code:
SELECT a.Id
,a.Feld1
,a.Feld2
,a.Feld3
,a.Feld4
,a.Feld5
FROM TableA a
,TableB b
WHERE b.ForeignKey(+) = a.Id
GROUP BY a.Id
,a.Feld1
,a.Feld2
,a.Feld3
,a.Feld4
,a.Feld5
HAVING COUNT(DISTINCT b.Id) > 1
SQL-Code:
SELECT a.Id
FROM TableA a
,TableB b
WHERE b.ForeignKey(+) = a.Id
GROUP BY a.Id
HAVING COUNT(DISTINCT b.Id) > 1
Prüfe ob du ohne forcierte Eindeutigkeit beim Zählen auskommst. Das ist nämlich nach der Gruppierung die zweite halb angezogene Handbremse...