phpbar.de logo

Mailinglisten-Archive

[php] MySQLSelect IN Select

[php] MySQLSelect IN Select

Markus Seifert seifert_(at)_ag-neuemedien.de
Tue, 18 Jul 2000 11:41:52 +0200


Hi,

mit einem LEFT JOIN in der Art,

SELECT u.name FROM user u LEFT JOIN berechtigungen r ON u.id=r.EZ_PersID,
user u2 LEFT JOIN buchung b ON u2.id=b.UserID WHERE u.id=u2.id

im ersten Join verknüpftst du user mit berechtigungen, im zweiten einen
Alias von user mit buchungen.

Markus



----- Original Message -----
From: "Andreas Schwinger" <phpliste_(at)_interpuls.de>
To: "PHP-Liste" <php_(at)_php-center.de>
Sent: Monday, July 17, 2000 11:23 PM
Subject: [php] MySQLSelect IN Select


>
>
> Hallo Liste,
>
> ich habe ein kleines Problem - es läuft zwar anhand von while-schleifen
und
> mehreren SELECT-Abfragen, aber es muß doch irgendwie leichter gehen ...
>
> Ich habe mehrere Tabelen
>
> user           mit ID, Name, Vorname  usw.
> buchung        mit Buchungsdaten
> berechtigung   in der verschiede Berechtigungen stehen mit userID
(identisch
> mit user.ID)
>
>
> ich möchte jetzt alle ausgegeben haben die gebucht haben (also in buchung
> stehen) und
> bestimmte berechtigungen haben, bzw. dessen ID in berechtigungen.EZ_PersID
> steht.
> $art ist der Parameter den ich dem Skript uebergebe
> (1= anzeigen die gebucht haben, 0=anzeigen die noch nicht gebucht haben)
>
>
> -----
> if ($art=="1") {
>   $daten=mysql_query("SELECT user.Name FROM user, berechtigung, buchung
> WHERE (user.ID=buchung.UserID) AND (user.ID=berechtigung.EZ_PersID)");
>
>   while($zeile = mysql_fetch_array($daten)) {
>
>   $Nachname=$zeile["Name"];
>       echo "$Nachname<br>";
>   }
> }
> ----
>
> gibt die richtigen Ergebnisse aus - für die gebuchten mit berechtigung.
>
> Wie kann ich die Ergebnisse ausgeben die noch nicht gebucht haben aber
> berechtigung haben
> ($art==0)?

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



php::bar PHP Wiki   -   Listenarchive