Owe...
In relationalen DBs hast du je mehrere Tabellen, die �ber Schl�sselwerte
verkn�pft sind zB.
Posten
Rechnungen -----------
Kunden ---------- ID
------ ID <---- RechungenID
ID <---KundenID LfdNummer
Name . ProduktID
Strasse . .
. . .
. .
.
Ich nehme mal weiter an, die Constraints (die Pfeile) sind nicht dirket in
de rDatenbank verankert. Dann musst du, wenn du Daten aus beiden Tabellen
zeiehen willst, diese irgendwie verbinden. Das macht man mit dem INNER JOIN
Befehl.
Das sieht dann zB. So aus:
SELECT Kunden.Name FROM Kunden INNER JOIN Rechnungen ON Rechnungen.KundenID
= Kunden.ID INNER JOIN Posten ON Posten.RechnungenID = Rechnungen.ID WHERE
Posten.ProduktID = 1
jetzt w�rden dir alle Kunden angezeigt, die das Produkt 1 erworben haben.
Zuerst sagst du, was du willst und gibst ganz normal eine Tabelle an. Dann
schreibst du mit Inner Join die weiteren Tabellen (INNER JOIN Rechnungen)
und die Art, wie sie mit einer der bereits enthaltenen Tabellen verk�pft
sind (ON Rechnungen.KundenID = Kunden.ID)fest. Das machst du hier f�r
Rechnungen und danach f�r Posten.
Mal angenommen, wir trennen an anderer Stelle zwischen Lieferanten und
Kunden und habe alle in einer Tabelle Kontakte zusammengefasst:
-------------------------------------------------------------
| Posten |
| Rechnungen ----------- |
| Kontakte ---------- ID |
| ------ ID <---- RechungenID Produkte |
->ID <---KontakteID LfdNummer ----------- |
Name . ProduktID------>ID |
Strasse . . KontakteID-------
. . . Preis
. .
.
Dann kann es vorkommen, dass du wie Jutte eine Tabelle in 2 verschiedenen
zusammenh�ngen brauchst. Deshalb musst du 2 Joins f�r eine Tabelle (hier
Kontakte) definieren. Um die einzelnen Felder zu Unterscheiden, bei denen
der Tabellen Pr�fix ja dann gleich w�re, kann man einen neuen Namen
vergeben. Man schreibt den gew�nschten Namen einfach hinter den Join Befehl:
SELECT Kunden.Name FROM Kontakte Kunden INNER JOIN Rechnungen ON
Rechungen.KontakteID = Kunden.ID INNER JOIN Posten ON Posten.RechnungenID =
Rechnungen.ID INNER JOIN Produkte ON Posten.ProdukteID = Produkte.ID INNER
JOIN Kontakte Lieferanten ON Posten.KontakteID = Lieferanten.ID WHERE
Lieferanten.Name = "Otto"
um zum Beispiel alle Kunden zu erfahren, die Produkte des Zulieferers Otto
erhalten haben.
Andreas Roth
--------------------------------------
[EMAIL PROTECTED] *jetzt mit Chat*
http://www.EuphoriasChild.DarkTech.org
--------------------------------------
> -----Urspr�ngliche Nachricht-----
> Von: Markus Sandke [mailto:[EMAIL PROTECTED]]
> Gesendet: Freitag, 2. November 2001 15:17
> An: ASP Diskussionsliste fuer Anfaenger
> Betreff: [aspdebeginners] AW: Problem mit Join
>
>
> Hallo Andreas,
>
> kannst du mir das mit den Inner Join usw. mal genauer erkl�ren?
>
> Danke
>
> Markus
>
>
>
> -----Urspr�ngliche Nachricht-----
> Von: Andreas Roth [mailto:[EMAIL PROTECTED]]
> Gesendet: Freitag, 2. November 2001 16:12
> An: ASP Diskussionsliste fuer Anfaenger
> Betreff: [aspdebeginners] AW: Problem mit Join
>
>
> Ja, einen zweiten Join:
>
> SELECT
> artikel.icID, artikel.hcatID, artikel.catID, artikel.headline,
> 2terartikel.hcatID, 2terartikel.catID, 2terartikel.headline,
> menue.imID,
> menue.menuepunkt FROM artikel INNER JOIN menue ON
> artikel.hcatID=menue.imID
> INNER JOIN artikel 2terArtikel ON 2TerArtikel.hcatID=menue.subID"
>
> Andreas Roth
> --------------------------------------
> [EMAIL PROTECTED] *jetzt mit Chat*
> http://www.EuphoriasChild.DarkTech.org
> --------------------------------------
>
> > -----Urspr�ngliche Nachricht-----
> > Von: Jutta Kavalier [mailto:[EMAIL PROTECTED]]
> > Gesendet: Freitag, 2. November 2001 15:03
> > An: ASP Diskussionsliste fuer Anfaenger
> > Betreff: [aspdebeginners] Problem mit Join
> >
> >
> > Hall�chen,
> >
> > so kurz vorm Wochenende sitze ich gerade auf der Leitung. Ich
> > habe zwei Tabellen:
> >
> > 1. Tabelle mit Menuepunkten, die untereinander verkn�pft sind
> > menue:
> > imID | subID | menuepunkt
> > 1 | 0 | hauptpunkt1
> > 2 | 1 | unterpunkt1 von hauptpunkt1
> >
> > 2. Tabelle mit Artikeln
> > artikel
> > icID | hcatID | catID | artikelhead
> >
> > Ich m�chte nun eine Abfrage, die mir zu einem Artikel den
> > Haupt- und Untermenuepunkt auflistet:
> > --> hauptmenuepunkt1 / unterpunkt1: artikelhead
> >
> > Wie bekomme ich nun beide Namen der Menuepunkte? Einer ist
> > klar -aber wie beide? Mache ich da innerhalb der Abfrage
> > einen zweiten Join?
> >
> > SELECT
> > artikel.icID, artikel.hcatID, artikel.catID, artikel.headline, "&_
> > "menue.imID, menue.menuepunkt FROM artikel "&_
> > "INNER JOIN menue ON artikel.hcatID=menue.imID"
> >
> >
> > Gruss
> > Jutta
> >
> >
> > | Oft Gefragtes: http://www.aspgerman.com/aspgerman/faq/
> > | [aspdebeginners] als [EMAIL PROTECTED] subscribed
> > | http://www.aspgerman.com/archiv/aspdebeginners/ = Listenarchiv
> > | Sie knnen sich unter folgender URL an- und abmelden:
> > |
> http://www.aspgerman.com/aspgerman/listen/anmelden/aspdebeginners.asp
>
> | Oft Gefragtes: http://www.aspgerman.com/aspgerman/faq/
> | [aspdebeginners] als [EMAIL PROTECTED] subscribed
> | http://www.aspgerman.com/archiv/aspdebeginners/ = Listenarchiv
> | Sie knnen sich unter folgender URL an- und abmelden:
> |
http://www.aspgerman.com/aspgerman/listen/anmelden/aspdebeginners.asp
| Oft Gefragtes: http://www.aspgerman.com/aspgerman/faq/
| [aspdebeginners] als [EMAIL PROTECTED] subscribed
| http://www.aspgerman.com/archiv/aspdebeginners/ = Listenarchiv
| Sie knnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdebeginners.asp
| Oft Gefragtes: http://www.aspgerman.com/aspgerman/faq/
| [aspdebeginners] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdebeginners/ = Listenarchiv
| Sie knnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdebeginners.asp