WinFuture-Forum.de: Mysql Und Left Join - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Mysql Und Left Join


#1 Mitglied ist offline   Party 

  • Gruppe: aktive Mitglieder
  • Beiträge: 501
  • Beigetreten: 16. Januar 04
  • Reputation: 0

geschrieben 07. Oktober 2009 - 14:48

Hallo jungs hab folgende Frage:

Meine DB:

transports
tra_id = 55
tra_name = test

orders
ord_id = 12
ord_sup_id = 99
ord_name = test2
ord_tra_id = 55

suppliers
sup_id = 99
sup_name = test 3

soweit zur datenbank (sehr sehr vereinfacht)

Möchte jetzt also abfragen
alle Transporte dazu die orders und dazu die suppliers (wenn vorhanden)
das ganze mach ich jeweils mit LEFT JOIN:
zb:
SELECT * FROM transports LEFT JOIN orders ON transports.tra_id = orders.ord_tra_id LEFT JOIN suppliers ON orders.ord_sup_id = suppliers.sup_id


Jetzt hab ich nur ein problem und zwar wenn bei ORDERS mehr datensätze vorhanden sind die die selbe ord_tra_id haben also
z.b:
ord_id = 12
ord_sup_id = 99
ord_name = test2
ord_tra_id = 55

ord_id = 13
ord_sup_id = 99
ord_name = test3
ord_tra_id = 55

dann werden 2 Datensätze ausgeben. Das muss ich aber unterbinden da es mir egal ist wieviele ORDERS es zu diesen Transport gibt...

weis leider nicht wie hab erst seit gestern LEFT JOIN gelernt <_<

vielen Lieben dank für eure bemühungen
0

Anzeige



#2 Mitglied ist offline   louS 

  • Gruppe: aktive Mitglieder
  • Beiträge: 116
  • Beigetreten: 23. November 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Erkelenz
  • Interessen:Graphics

geschrieben 07. Oktober 2009 - 16:08

Wieviele orders sollen denn angezeigt?

Dieser Beitrag wurde von louS bearbeitet: 07. Oktober 2009 - 16:08

Eingefügtes Bild
0

#3 Mitglied ist offline   Party 

  • Gruppe: aktive Mitglieder
  • Beiträge: 501
  • Beigetreten: 16. Januar 04
  • Reputation: 0

geschrieben 07. Oktober 2009 - 16:25

das kriterium soll an den Transporten sein
es sollen nur soviele einträge sein wie Transporte

egal wieviel order
ich verknüpf ORDERS nur das ich im FRONTEND zu den Transporter die ORDERS anzeigen kann

z.b:

Transport:
Datensatz1: TEST Transport , ORDERS: Order_name 1,2,3....
Datensatz2: TEST2 Transport , ORDERS: Order_name 1

...

Dieser Beitrag wurde von Party bearbeitet: 07. Oktober 2009 - 16:25

0

#4 Mitglied ist offline   K050V4 

  • Gruppe: aktive Mitglieder
  • Beiträge: 788
  • Beigetreten: 13. August 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Stuttgart
  • Interessen:(X)HTML<br />CSS2+<br />PHP 4/5<br />MySQL 5<br />Symfony 1.2+<br />JavaScript / AJAX<br />jQuery<br />C++<br />C#<br />Java<br />...

geschrieben 08. Oktober 2009 - 10:54

Wenn ich mich nicht irre kannst du nach ON weitere Bedinungen als X = Y angeben. Kopelst du einfach mit einem AND:

ON transports.tra_id = orders.ord_tra_id AND [Bedingung 2]
bspw. ord_id = max(ord_id)
dann wird nur das letzte Order angezeigt... aber was du genau willst, ist mir nicht ganz verständlich ;)

Zitat

"In der Welt des Erkennbaren ist die Idee des Guten die höchste." - Platon

Spritify! Easy CSS-Sprite-Generator | Albanisch Deutsch Wörterbuch
0

#5 Mitglied ist offline   Party 

  • Gruppe: aktive Mitglieder
  • Beiträge: 501
  • Beigetreten: 16. Januar 04
  • Reputation: 0

geschrieben 08. Oktober 2009 - 16:18

Super danke das hat geklappt ;)
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0