phpbar.de logo

Mailinglisten-Archive

[php] AW: [php] MySQL-JOIN-Frage

[php] AW: [php] MySQL-JOIN-Frage

=?us-ascii?Q?Christian_Schafer?= caefer_(at)_yahoo.com
Thu, 15 Mar 2001 08:39:27 +0100


guten morgen,

SELECT party.name FROM party,dj,partydj WHERE dj.djname = 'smiley' AND DJ.id
= partydj.dj_id AND party.id = partydj.party_id

so oder so ahnlich sollte es klappen. du musst halt alle bedingungen auf dem
weg vom namen bis zur party in die select-anweisung einbauen, genauso, wie
du selbst die tabellen lesen wurdest.

gru?
christian


-----Ursprungliche Nachricht-----
Von: php-admin_(at)_php-center.de [mailto:php-admin_(at)_php-center.de]Im Auftrag
von Lange
Gesendet: Mittwoch, 14. Marz 2001 18:37
An: php_(at)_php-center.de
Betreff: [php] MySQL-JOIN-Frage


Hi,

ich habe folgende Tabellen:

DJ-TABELLE
+----+---------+
| id | djname  |
+----+---------+
|  1 | Dezibel |
|  2 | Slide   |
|  3 | Smiley  |
+----+---------+

PARTY-TABELLE
+----+----------+------------+
| id | name     | datum      |
+----+----------+------------+
|  1 | Schleife | 2001-03-10 |
|  2 | Kilowatt | 2001-03-09 |
+----+----------+------------+

JOIN_DJ_PARTY-TABELLE
+----+----------+-------+
| id | party_id | dj_id |
+----+----------+-------+
|  1 |        1 |     1 |
|  2 |        1 |     2 |
|  3 |        2 |     1 |
|  4 |        2 |     3 |
+----+----------+-------+

Wie komme ich jetzt z.B. an die Party, auf der ein DJ namens SMILEY
auflegt?Ich habe es mit einer INNER JOIN-Verknuepfung ueber 2 Tabellen
geschafft,Voraussetzung war aber, das ich zu dem Zeitpunkt die DJ-ID
kannte.
(ich glaub das war so)
SELECT party.name FROM party
INNER JOIN join_dj_party ON
join_dj_party.dj_id=3

Das richtige Ergebnis muss KILOWATT sein.


Ein INNER JOIN ueber 3 Tabellen brachte mir keine richtige
Loesung, sondern fuehrte alle Partys auf.

Was ich auch nicht verstehe ist, das ich z.B. in dem Buch PHP4+MYSQL
von DataBecker gelesen habe, das man bei einem INNER JOIN, das
Schluesselwort INNER weglassen kann. Bei der aktuellen MySQL-VErsion
auf meinem SUSE6.4-Linux-System bekomme ich da aber immer einen
Fehler. Ausserdem habe ich gelesen,das es kein RIGHT-JOIN gibt.Aber
auch das funktioniert bei meiner MySQL-Version. Ich setze die 3.23.33 ein.

Danke Lange



--
** Durchgehend gevffnet: http://www.php-center.de **
Die PHP-Liste: mailto:php_(at)_php-center.de
http://infosoc.uni-koeln.de/mailman/listinfo/php


_________________________________________________________
Do You Yahoo!?
Get your free _(at)_yahoo.com address at http://mail.yahoo.com



php::bar PHP Wiki   -   Listenarchive