Im meinem Beispiel gibt es tatsächlich keinen solchen Fall. In meiner realen Anwendung aber schon. Hier also noch Mal das Problem:
Eine fID hat bestimmte gID-Einträge z.B. 7,18,26. Gesucht werden sollen jetzt alle fIDs die ebenfalls diese gID-Einträge enthalten, also auch 7,18,26.
Wer hat eine möglichst effiziente Lösung zu diesem Problem?
Hi, ich habe jetzt nicht allzuviel Zeit. Deswegen eine nicht 100%tig durchdachte Query, die das liefert, was ich denke das Du meinst.
Code:
create view asdftest(g1,g2) as (select distinct x.fID as g1, y.fID as g2
from te x, te y
where x.fID <> y.fID and not exists (select a.gID from tG a where a.fID=x.fID and not exists (select b.gID from tG b where y.fID=b.fID and a.gID=b.gID)));
select distinct res.g1 as fID , res.g2 as "fIDs mit genau gleichen gIDs"
from asdftest res, asdftest res1
where res.g1=res1.g2;
Code:
create view asdftest(g1,g2) as (select distinct x.fID as g1, y.fID as g2
from te x, te y
where x.fID <> y.fID and not exists (select a.gID from tG a where a.fID=x.fID and not exists (select b.gID from tG b where y.fID=b.fID and a.gID=b.gID)));
select distinct res.g1 as fID , res.g2 as "fIDs mit genau gleichen gIDs"
from asdftest res, asdftest res1
where res.g1=res1.g2;
Code:
create view asdftest(g1,g2) as (select distinct x.fID as g1, y.fID as g2
from te x, te y
where x.fID <> y.fID and not exists (select a.gID from tG a where a.fID=x.fID and not exists (select b.gID from tG b where y.fID=b.fID and a.gID=b.gID)));
select distinct res.g1 as fID , res.g2 as "fIDs mit genau gleichen gIDs"
from asdftest res, asdftest res1
where res.g1=res1.g2;
(kann man natürlich auch zusammenfassen oder mit with formulieren... wahrscheinlich kann man das auch noch vereinfachen und sauberer machen)
Nächstes Thema anzeigen Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben. Sie können auf Beiträge in diesem Forum antworten. Sie können Ihre Beiträge in diesem Forum nicht bearbeiten. Sie können Ihre Beiträge in diesem Forum nicht löschen. Sie können an Umfragen in diesem Forum nicht mitmachen.
c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums
für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de
Werbekostenerstattung verdient werden kann.
Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de
enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt
(vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in
privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden.
Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere
übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.