2 tabellen auslesen

Teddy7000

Grünschnabel
Hallo!
Ich möchte aus 2 Tabellen was auslesen auslesen.

die erste klappt wunderbar.
$getQuery = $SQL->query("SELECT user_nick FROM ".pkSQLTAB_USER." WHERE (user_groupid = 1) AND user_id > 0 ORDER BY user_name ASC");

jetzt brauch ich noch aus tabelle ".pkSQLTAB_USERFIELDS." ein select field_5

wie mach ich das?
 
Hallo,

Im Normalfall joint man die Tabellen, d.h. man verknüpft sie über je ein Feld, dessen Wert übereinstimmt.

Dazu erstmal folgende Frage an Dich:

Gibt es einen Eintrag in der Tabelle"user_fields" zu jedem Eintrag in Tabelle "user" oder mehrere?

Wenn es nur einen Eintrag für den User in der userfields-Tabelle gibt, und angenommen in der Tabelle "user_fields" gibt es auch ein Feld namens "user_id", so kannst du die beiden Tabellen direkt per INNER JOIN verknüpfen.

Entweder mit dieser Schreibweise:

SQL:
SELECT u.user_nick,
       uf.field5
  FROM user u,
       user_fields uf
 WHERE u.user_groupid = 1
   AND u.user_id = uf.user_id
   AND u.user_id > 0 
 ORDER BY u.user_name ASC

oder mit folgender:

SQL:
SELECT u.user_nick,
       uf.field5
  FROM user u INNER JOIN user_fields uf
    ON u.user_id = uf.user_id
 WHERE u.user_groupid = 1
   AND u.user_id > 0 
 ORDER BY u.user_name ASC

Markus
 
PHP:
$getQuery = $SQL->query("SELECT ".pkSQLTAB_USER.".user_nick, ".pkSQLTAB_USERFIELDS.".field_5 FROM user".pkSQLTAB_USER.",       field_5".pkSQLTAB_USERFIELDS." WHERE ".pkSQLTAB_USER.".user_groupid = 1   AND ".pkSQLTAB_USER.".user_id = ".pkSQLTAB_USERFIELDS.".userid   AND ".pkSQLTAB_USER.".user_id > 0  ORDER BY ".pkSQLTAB_USER.".user_name ASC ");

Habs jetzt so versucht geht aber nicht wirklich. sorry hab echt noch wenig ahnung davon
also im userfields gibt es ein userid und im user ein user_id die gleich sind.
 
Zurück