Abfrage von MySQL
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
arbeitsgruppe
aufleuchten
auftrag
ausgeben
bau
code
datenbank
eigene arbeitsgruppe
eingesetzte arbeitsgruppen
eingesetzte gruppen
folgende inhalte
hilfe
inhalt
kennung
leute
speziellen abfrage
uhr
uhrzeit
vergleich
-
Hallo Leute,
ich brauche Hilfe bei einer speziellen Abfrage von meiner mySQL-Datenbank:
Ich habe 2 Tabellen in meiner Datenbank
->Alias
+ Kennung
+ Name
->Aufträge
+ Kennung
+ Auftrag
+ Uhrzeit (Timestamp)
Mein Ziel ist jetzt, dass ich bei den Aufträgen einen Vergleich bekomme.
Folgende Inhalte in Alias:
Kennung - Name
123456 - Arbeitsgruppe A (A ist die eigene Arbeitsgruppe)
654321 - Arbeitsgruppe B
741852 - Arbeitsgruppe C
Inhalte in Aufträge:
Kennung - Auftag - Uhrzeit
123456 - Testaufgabe1 - 1335687507
654321 - Testaufgabe2 - 1335687507
741852 - Testaufgabe1 - 1335687508
Soll anzeigen:
Eingesetzte Gruppen:
Arbeitsgruppe A - 10:18 Uhr
Arbeitsgruppe C - 10:18 Uhr
Wie baue ich die Abfrage, dass ich erst meine Arbeitsgruppe bekomme, dann dieses bei den Aufträgen vergleiche, ob der Auftag von anderen Arbeitsgruppen gleich ist, und mir dann ausgibt, dass die und die Arbeitsgruppe den gleichen Auftrag haben.
MfG
ronny -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Das machst du mit JOINs, aber an sich könnte das mittels kurz-JOINs ohne Alias auch gehen:
SELECT Alias.Name, Aufträge.Uhrzeit FROM WHERE Alias.Kennung = Aufträge.Kennung;
Probiers mal aus. Ich bin nicht sooo gut mit SQL, aber das Result dürfte beide Dinge, die du willst, beinhalten.
Liebe Grüße -
Wenn ichs richtig verstanden habe:
Select a1.Auftrag Auftrag, a1.Name 'Arbeitsgruppe 1', a2.Name 'Arbeitsgruppe 2' from (Select au.Kennung, al.Name, au.Auftrag from Aufträge au left join Alias al on au.Kennung = al.Kennung) a1 left join (Select au.Kennung, al.Name, au.Auftrag from Aufträge au left join Alias al on au.Kennung = al.Kennung) a2 on a1.Auftrag = a2.Auftrag where a1.Kennung != a2.Kennung
ergibt:
+--------------+-----------------+-----------------+ | Auftrag | Arbeitsgruppe 1 | Arbeitsgruppe 2 | +--------------+-----------------+-----------------+ | Testaufgabe1 | Arbeitsgruppe C | Arbeitsgruppe A | | Testaufgabe1 | Arbeitsgruppe A | Arbeitsgruppe C | +--------------+-----------------+-----------------+
mfg Jongleur -
Ungetestet:
SELECT AL.Name, A.Uhrzeit FROM Alias AL JOIN Aufträge A ON A.Kennung = AL.Kennung WHERE EXISTS( SELECT * FROM Aufträge A2 WHERE A2.Auftrag = A.Auftrag AND A2.Kennung <> A.Kennung )
-
<table border="1"> <tr> <td>Testaufgabe1</td> </tr> <tr> <th>Eingesetzte Arbeitsgruppen</th> </tr> <tr> <td>Arbeitsgruppe A</td> <td>10:18 Uhr</td> </tr> <tr> <td>Arbeitsgruppe C</td> <td>10:18 Uhr</td> </tr> </table>
Diese ausgabe möchte ich ausgeben, die anderen Arbeitsgruppen sollen da nicht aufleuchten -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage