n:m beziehung
ska
- datenbank
hallo,
jemand hatte mir mal diese n:m beziehung aufgestellt.
location location_anbieter anbieter
------------- ----------------- ---------------
id_location ----------- id_location +------- id_anbieter
plz id_anbieter -------+ name
ort bemerkung person
vorwahl strasse
plz
ort
telefon
fax
email
http
Leider weiss ich nicht so recht wie ich die Abfrage stellen soll.
Also der Besucher gibt die plz ein und möchte herrausfinden welche Anbieter ihm zu Verfügung stehen.
mbg ska
yo,
SELECT DISTINCT a.id_anbieter, a.name
FROM location l
INNER JOIN location_anbieter la ON la.id_location = l.id_location
INNER JOIN anbieter a ON a.id_anbieter = la.id_anbieter
WHERE l.pls = 'hier_pls_angeben'
;
Ilja
hi,
danke soweit.
was heisst distinct?
geht das auch ohne join?
mbg ska
Hi,
was heisst distinct?
auf deutsch "distinkt". Alles Weitere erzählt Dir die Dokumentation Deines DBMS - welches immer das sein mag.
geht das auch ohne join?
Es geht ohne das Schlüsselwort, aber nicht ohne die Technik.
Cheatah
hallo,
nun ja, ich würde das gerne genau verstehen am liebsten ohne joins.
mein dbms ist mysql.
Könntest du mir das näher legen im Falle von zwei anbietern bei einer plz.
nehmen wir mal an firma1 und firma2 liefern beide nach plz 12345.
mbg ska
Hi,
nun ja, ich würde das gerne genau verstehen am liebsten ohne joins.
Du willst eine Verbindung der Daten aus mehreren Tabellen. Aber joins (Verbindungen) willst Du nicht nutzen.
Gibt es dafür einen _echten_ Grund? Oder hast Du nur Angst vor dem Wort "join"?
cu,
Andreas
hallo,
bin mir nicht ganz sicher ob es anfragen gibt für die joins zwingend nötig sind, also man die Abfrage nich nur mit where und and bewältigen kann.
falls es auch mit where und and geht ziehe ich diese zunächst vor!
mbg ska
Hi,
nun ja, ich würde das gerne genau verstehen am liebsten ohne joins.
Du willst eine Verbindung der Daten aus mehreren Tabellen. Aber joins (Verbindungen) willst Du nicht nutzen.
Gibt es dafür einen _echten_ Grund? Oder hast Du nur Angst vor dem Wort "join"?
cu,
Andreas
select a.id_anbieter, a.name
from location, location_anbieter, anbieter
where la.id_location = l.id_location and a.id_anbieter = la.id_anbieter
where l.plz = 12345; // and l.plz = 12345;
geht das
Moin!
select a.id_anbieter, a.name
from location, location_anbieter, anbieter
where la.id_location = l.id_location and a.id_anbieter = la.id_anbieter
where l.plz = 12345; // and l.plz = 12345;geht das
Das ist auch ein Join. Du gewinnst damit nichts. Außer, dass du die Tatsache verschleierst, dass es sich um einen Join handelt, und du die Join-Bedingungen mit den Filterbedingungen mischt - die ganze Sache also deutlich unübersichtlicher wird.
Von den Syntaxfehlern und fehlenden Aliassen mal zu schweigen.
- Sven Rautenberg
Könntest du mal den join syntaktisch richtig aufschreiben ohne das Wort join.
mbg ska
Hello,
Könntest du mal den join syntaktisch richtig aufschreiben ohne das Wort join.
könntest du bitte deine Scheu davor ablegen und dich kurz mit den Grundlagen befassen? Glaub mir, mittelfristig erleichtert dir das einiges.
MfG
Rouven
Hallo,
bist du der rouven
http://tsdnet.ts.funpic.de/joins_leicht_gemacht.htm
hast du schön gemacht!
Wollte nur schnell zum Ziel kommen, denke aber das ich mich dem noch widmen werde. werden muss...
Danke soweit allen.
mit besten Grüßen
ska
Moin!
bist du der rouven
http://tsdnet.ts.funpic.de/joins_leicht_gemacht.htm
Das sollte mal offline genommen werden bzw. mit Redirect zur wahren Seite, Rouven. Sofern du die Seite dort platziert hattest.
- Sven Rautenberg
Hello,
Das sollte mal offline genommen werden bzw. mit Redirect zur wahren Seite, Rouven. Sofern du die Seite dort platziert hattest.
du hast gut Reden. Ich hab die Seite da damals angelegt, damit sie bewertet werden konnte. Die Zugangsdaten, hmhmh, na ja, das könnte lustig werden...
MfG
Rouven
Moin!
Könntest du mal den join syntaktisch richtig aufschreiben ohne das Wort join.
Nein, weil das Unsinn ist. Ilja hat dir alles gegeben, was an Info notwendig ist.
- Sven Rautenberg