Peter: Sql-Joins oder "Mache ich Sinn?"

Beitrag lesen

Also erstmal vorweg, du hast verschiedene Tabellen in denen immer die gleichen Spalten mit unterschiedlichen werten sind?
Da würde ich von einem schlechtne Datenbankdesign ausgehen.

Hm... ok. Mein Problem würde sich mächtig vereinfachen, wenn jede Spalte einen eindeutigen Namen hat. Ich Hundehirn.

Beispiel:

TableA:  uid | name | b_uid
TableB:  uid | name

SELECT * FROM TableA
INNER JOIN TableB ON TableA.b_uid = TableB.uid;

Die Anfrage wird zwar ausgeführt, aber im resultierenden Array ist in der Spalte 'name' eben der Name aus TableB. Der Name aus TableA existiert nicht mehr. Ich will beide.

Ist hier ein LEFT JOIN nicht sinnvoller?
Willst du alle Einträge in TableA und die dazu gehörigen Daten in TableB oder willst du auch die einträge aus TableB die keine entsprechung in TableA haben?

Ich vermute du willst:

SELECT *, a.name AS a_name, b.name AS b_name FROM TableA AS a LEFT JOIN TableB AS b ON a.b_uid = b.uid;

Wobei ich versuchen würde name genauer zu definieren, z.b. Produktname, Lieferantename
und die id's versuchen gleich zu bennen, also uid für z.b. eine userid und b_id für .... (Produkt ID?)

Ne, ich wollte in diesem Fall tatsächlich den INNER JOIN. Aber ich glaube, mein größtes Problem ist tatsächlich die mehrfache Verwendung derselben Spaltennamen... und das läßt sich recht simpel lösen!

Ich danke Dir vielmals!

Gruß, Peter