mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 26.04.2024 23:08 Benutzername: Passwort: Auto-Login

Thema: [MySQL] SQL Query Frage vom 24.04.2010


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [MySQL] SQL Query Frage
Autor Nachricht
predator2003
Threadersteller

Dabei seit: 24.04.2010
Ort: -
Alter: -
Geschlecht: -
Verfasst Sa 24.04.2010 03:21
Titel

[MySQL] SQL Query Frage

Antworten mit Zitat Zum Seitenanfang

Ich weis leider nicht wie ich das Problem genau beschreiben soll.

Folgende DB Struktur ist vorhanden (stark vereinfacht):

TABELLE MITARBEITER
ID VORNAME NACHNAME
1 Muster Mann
2 Karl Muster
..

TABELLE AUFTRAEGE
ID ANLEGER_ID BEARBEITER_ID
1 1 2
2 3 1


ich will jetzt alle Aufträge auflisten lassen und es soll statt der AnlegerID und der BearbeiterID der Vollständige Name enstehen. Ist das so mit einer Abfrage möglich mit Joins oder muss ich dass einzeln abfragen?
Hab schon gesucht und probiert aber kapiers nicht

Ich möchte das in PHP einbinden.


Zuletzt bearbeitet von predator2003 am Sa 24.04.2010 03:21, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Kash

Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht: Männlich
Verfasst Sa 24.04.2010 12:28
Titel

Antworten mit Zitat Zum Seitenanfang

Ist Bearbeiter_ID = ID von Table 'Mitarbeiter'?

Du hast mehrere Möglichkeiten. Mittels JOIN beide Tabellen anzusprechen oder Du legst Dir noch eine weitere Tabelle an in der Du eine Zuordnung schaffst.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
sahnemuh

Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht: Männlich
Verfasst Sa 24.04.2010 13:11
Titel

Antworten mit Zitat Zum Seitenanfang

so wie ich das verstehe sind mitarbeiter sowohl bearbeiter als auch anleger.

sprich: es soll sowas rauskommen wie:

Auftrag Nummer 1
Angelegt von: Karl muster
Zuletzt bearbeitet von: Muster mann

Auftrag Nummer 2
Angelegt von: Muster mann
Zuletzt bearbeitet von: Karl muster

[...]


das wäre dann doch sowas wie:

Code:
<?php

$query = "SELECT auftraege.id AS auftragid, mitarbeiter.vorname AS mitarbeiter_vorname, mitarbeiter.nachname" AS mitarbeiter_nachname" .
"FROM mitarbeiter, auftraege" .
"WHERE auftraege.anleger_id= mitarbeiter.id";
   
$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($result)){
   echo "Auftrag: " . $row['auftragid'];
   echo "<br />";
   echo "Angelegt von: " . $row['mitarbeiter_vorname'] .  $row['mitarbeiter_nachname'];
   echo "<br />";
}
?>



... damit hättest du zumindest schon mal denjenigen, der's angelegt hat. weiter komme ich mit meinen spärlichen kenntnissen aber auch nicht. vielleicht hilft ja der denkansatz.
  View user's profile Private Nachricht senden
predator2003
Threadersteller

Dabei seit: 24.04.2010
Ort: -
Alter: -
Geschlecht: -
Verfasst Sa 24.04.2010 15:25
Titel

Antworten mit Zitat Zum Seitenanfang

sahnemuh hat geschrieben:
so wie ich das verstehe sind mitarbeiter sowohl bearbeiter als auch anleger.

sprich: es soll sowas rauskommen wie:

Auftrag Nummer 1
Angelegt von: Karl muster
Zuletzt bearbeitet von: Muster mann

Auftrag Nummer 2
Angelegt von: Muster mann
Zuletzt bearbeitet von: Karl muster

[...]


das wäre dann doch sowas wie:

Code:
<?php

$query = "SELECT auftraege.id AS auftragid, mitarbeiter.vorname AS mitarbeiter_vorname, mitarbeiter.nachname" AS mitarbeiter_nachname" .
"FROM mitarbeiter, auftraege" .
"WHERE auftraege.anleger_id= mitarbeiter.id";
   
$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_array($result)){
   echo "Auftrag: " . $row['auftragid'];
   echo "<br />";
   echo "Angelegt von: " . $row['mitarbeiter_vorname'] .  $row['mitarbeiter_nachname'];
   echo "<br />";
}
?>



... damit hättest du zumindest schon mal denjenigen, der's angelegt hat. weiter komme ich mit meinen spärlichen kenntnissen aber auch nicht. vielleicht hilft ja der denkansatz.



Genauso ist es gemeint!
Soweit bin ich jetzt auch gekommen, aber wie ich jetzt eben auch noch den Bearbeiter auflöse kapiere ich nicht, oder ist das gar nicht so einfach möglich?


Zuletzt bearbeitet von predator2003 am Sa 24.04.2010 15:26, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
therapiekind

Dabei seit: 14.03.2006
Ort: In deinem Kopf
Alter: -
Geschlecht: -
Verfasst So 25.04.2010 16:58
Titel

Antworten mit Zitat Zum Seitenanfang

Code:
SELECT
   auftraege.id,
   CONCAT(anleger.vorname, ' ', anleger.nachname) AS anleger_fullname,
   CONCAT(bearbeiter.vorname, ' ', bearbeiter.nachname) AS bearbeiter_fullname
FROM auftraege
LEFT JOIN mitarbeiter AS anleger ON anleger.id = auftraege.anleger_id
LEFT JOIN mitarbeiter AS bearbeiter ON bearbeiter.id = auftraege.bearbeiter_id
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
predator2003
Threadersteller

Dabei seit: 24.04.2010
Ort: -
Alter: -
Geschlecht: -
Verfasst So 25.04.2010 19:39
Titel

Antworten mit Zitat Zum Seitenanfang

Dankeschön!!
funktioniert genauso wie ich es will!

Echt toll!
Hab wieder was dazugelernt Lächel
  View user's profile Private Nachricht senden
 
Ähnliche Themen [MySql]Lost connection to MySQL server during query
? mysql-query
mysql-Query gesucht
MySQL - Reg. Expressions im Query
[PHP]Problem mit MySQL-Query
[MySql]Problem mit Syntax in Query
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.