SQL Statement

K

keanuf

Jungspund
Guten Tag liebe Online Gemeinde,
ich tu mich gerade mit einem SQL Statement verdammt schwer.

Beschreibung der Situation:

Ich habe hier 3 Tabellen

1. Tabelle Aufbau
tabelle1
|id |name |

2. Tabelle Aufbau
tabelle2
|id |name |

3 Tabelle Aufbau
tabelle 3
|id |tabelle1_id | tabelle2_id |

Nun versuche hier ich folgende Abfrage.
Es sollen alle ids der Tabelle 1 ausgegeben werden, die nicht in der kombination tabelle1_id und tabelle2_id vorhanden sind.

Verschiedenste Lösungsansätze habe ich hier schon seit 2 Tagen versucht, aber alle scheitern. Ich bekomm es einfach nicht gebacken, es ist als hätt cih ein Brett vor dem Kopf.

Eventuell kann mir hier jemand helfen.
Ich hoff ich hab hier alles so gut wie möglich erklärt.

Und danke schoneinmal im vorraus.
:hilfe2:
 
Es sollen alle ids der Tabelle 1 ausgegeben werden, die nicht in der kombination tabelle1_id und tabelle2_id vorhanden sind.
willst du damit sagen, du suchst alle id' s aus tabelle1 die nicht auch in tabelle 3 enthalten sind?
wenn ja, dann:
Code:
select id  from tabelle1 t1
  where not exists (select null from tabelle3 t3 where t3.tabelle1_id=t1.id);
 
Ja so ähnlich mein ich das schon,
und das Brett löst sich so langsam bei vor dem Kopf auf.

Leider habe ich das Ergebnis noch nicht
aber danke sach ich schonmal.

Ergebnis der Anfrage soll sein, alle die tabelle1.id anzuzeigen, die in der tabelle3 noch nicht mit allen tabellen2.id verbunden sind.

ich hoff ich hab das nun besser ausgedrückt.
Und Danke schonmal für den Schubser in die richitge Richtung :))
 
weiss nicht ob ich's richtig verstanden hab, aber vielleicht meinst du's so:
Code:
select distinct tab1.id
  from tab1,tab2
  where not exists
    (select null
       from tab3
       where tab3.tab1_id=tab1.id and tab3.tab2_id=tab2.id)
  order by tab1.id
das selektiert alle id's aus tab1 die in tab3 nicht mit allen id's aus tab2 verknüft sind
 
ninguno ich weis gar nicht wie ich dir danken soll.,

Ich aufjedenfall muss hier noch viel lesen.
und lernen wie ich das sehe.
Aber als ich deine Abfrage gesehen habe,
viel es mir wie schuppen von den Augen.

Alles läuft super und Danke nochmals
:))
 
ähnliches Problem

hallo,

ich habe ein ziemlich ähnliches Problem, kann eine problemlösung leider nicht von oben ableiten

meine db:

tabelle "benutzer" mit den feldern "benutzernr" und ein paar unwichtigen
tabelle "mitglied" mit "benutzernr" und "gruppenr"

jetzt möchte ich gerne alle benutzer anzeigen, die in keiner gruppe mitglied sindzugewiesen sind.

habs schon ansatzweise versucht, funzt aber nicht:
Code:
SELECT  DISTINCT benutzer. * 
FROM benutzer
WHERE NOT EXISTS ( 
  SELECT  NULL 
  FROM mitglied
  INNER  JOIN benutzer ON mitglied.benutzernr = benutzer.benutzernr
)

lg bernie
 
so als schnellschuss würd ich sagen
Code:
SELECT   * 
FROM benutzer
WHERE NOT EXISTS ( 
  SELECT  NULL 
  FROM mitglied
      WHERE mitglied.benutzernr = benutzer.benutzernr
)
 
danke für die schnelle antwort
funzt aber leider nicht, könnte auch daran liegen, dass ich MySQL 4.0.18 verwende
http://dev.mysql.com/doc/refman/5.0/en/rewriting-subqueries.html hat mich auf den richtigen weg geführt
und so hauts hin
Code:
SELECT benutzer.* 
FROM benutzer
LEFT JOIN mitglied ON benutzer.benutzernr = mitglied.benutzernr
WHERE mitglied.benutzernr IS NULL

lg bernie
 
ja ich würds auch mit nem LEFT JOIN probieren, der holt dir eigentlich alles aus der linken (1sten) tabelle was nicht in der rechten (2ten) tabelle ist
 

Ähnliche Themen

Daten aus Feld weiterverarbeiten

DB2 Foreign Key Problem

Zurück
Oben