Antworten auf deine Fragen:
Neues Thema erstellen

SQL-Abfrage aus 2 Tabellen

BlueThunder

Nicht mehr ganz neu hier

Hi Leute,
ich brauche Hilfe. Ich hätte gerne aus Tabelle1
(products_ean, products_model und products_image)

und aus Tabelle2
(products_name)

aufgelistet.

Kann mir jemand eine Hilfestellung geben? Bin auf diesem Gebiet ein Anfänger...

---

Tabelle1 "products"
Aus dieser hätte ich gerne folgende Spalten aufgelistet
-> products_id (primary key)
- products_ean
- products_model
- products_image


Tabelle2 "products_description"
->products_id (primary key)
- products_name

Für mich eine logische Anweisung, für SQL aber nicht :p
SELECT products_ean, products_model, products_image FROM products
AND
products_name FROM products_description
WHERE
products_id=products_id

Gruß BT
 

lustig

Helper

AW: SQL-Abfrage aus 2 Tabellen

Versuch es einmal so:
PHP:
SELECT products_ean, products_name, products_model, products_image 
FROM products p, products_description d
where d.products_id = p.products_id
 

holgermerz

Nicht mehr ganz neu hier

AW: SQL-Abfrage aus 2 Tabellen

entweder wie "lustig" schon geschrieben, oder dann über die Join Funktion

SELECT p.products_ean, d.products_name, p.products_model, p.products_image
FROM products p
INNER JOIN products_description d
ON d.products_id = p.products_id

Die JOIN Anweisung hat den Vorteil, dass du einfach anstatt INNER JOIN einen LEFT OUTER JOIN machen kannst, du dann alle Ergebnisse aus der "linken" Tabelle dir anzeigen kannst, die in der zweiten Tabelle nicht vorkommen (geht natürlich auch umgekeht mit RIGHT JOIN). Am besten einfach mal ausprobieren, was dir besser gefällt
 

BlueThunder

Nicht mehr ganz neu hier

AW: SQL-Abfrage aus 2 Tabellen

Funktioniert beides Vielen Dank!

Zum Verständnis:
Man fügt mit "p" und "d" nur ein Unterscheidungsmerkmal hinzu?

Ich habe nun mal versucht mir nur Ergebnisse ausgeben zu lassen,
die nur einen bestimmten Herstellernamen enthalten.

SELECT products_ean, products_name, products_model, products_image
FROM products p, products_description d
where d.products_name like '%HERSTELLERNAME-XYZ%'

Mir wird dann aber in der "products_name"-Spalte nur ein Name
des gesuchten HERSTELLERS für alle Produkte ausgegen UND die
Produkte sind nicht nur von "HERSTELLERNAME-XYZ" sondern umfasst
auch andere Hersteller :(

Evtl. hat ja noch jemand eine Lösung für mich.
Das Andere hat mich aber schon weitergebracht.

VIELEN DANK DAFÜR.
Gruß BT
 

Duddle

Posting-Frequenz: 14µHz

AW: SQL-Abfrage aus 2 Tabellen

Man fügt mit "p" und "d" nur ein Unterscheidungsmerkmal hinzu?
Das sind Aliase. In diesem Fall dienen sie der Unterscheidung und der Abkürzung der Abfrage.

Mir wird dann aber in der "products_name"-Spalte nur ein Name
des gesuchten HERSTELLERS für alle Produkte ausgegen UND die
Produkte sind nicht nur von "HERSTELLERNAME-XYZ" sondern umfasst
auch andere Hersteller
Du hast den wichtigen Teil der Abfrage von lustig nicht übernommen. Du solltest erst verstehen, warum diese Abfrage so aussehen kann / muss, bevor du sie erweiterst.


Duddle
 

maboe

Noch nicht viel geschrieben

AW: SQL-Abfrage aus 2 Tabellen

Du hast den wichtigen Teil der Abfrage von lustig nicht übernommen.

Duddle meint damit, dass Du nicht auf die Gleichheit der produkts_id einschränkst.

So wird es klappen:
SELECT products_ean, products_name, products_model, products_image
FROM products p, products_description d
where d.products_id = p.products_id
and d.products_name like '%HERSTELLERNAME-XYZ%'

Oder mit JOIN:
SELECT p.products_ean, d.products_name, p.products_model, p.products_image
FROM products p
INNER JOIN products_description d
ON d.products_id = p.products_id
where d.products_name like '%HERSTELLERNAME-XYZ%'

Viele Grüße,
maboe
 

ovbb

es gibt für alles eine weg

AW: SQL-Abfrage aus 2 Tabellen

SQL :) immer wieder schön zu sehen wo man früher auch mal stand in punkto wissen.

wie duddle schon gesagt hat, musst du deine erweiterung und die lösung von lustig kombinieren.

wenn du in der where klausel die beziehung nicht angibst (beim join das "on ...") dann weiß sql ja nicht nach welchen spalten du die tabellen verknüpfen möchtest.

Hab ich eben gerade gefunden: http://www.w3schools.com/sql/default.asp
 

ovbb

es gibt für alles eine weg

AW: SQL-Abfrage aus 2 Tabellen

gerade ist es mir eingefallen: du machst in deiner abfrage nur ein kartesisches produckt (jede zeile aus tab1 mit jeder zeile aus tab2) somit kommst du auf ein falsches ergebnis.
 

BlueThunder

Nicht mehr ganz neu hier

AW: SQL-Abfrage aus 2 Tabellen

@maboe
Funktioniert einwandfrei. DANKE!

SQL :) immer wieder schön zu sehen wo man früher auch mal stand in punkto wissen.
Ja, jeder Anfang ist schwierig. Manchmal steht man dann wie der Ochs vor´m Berg ó.O Aber gut, dass es so viele nette Leute gibt, die einem weiterhelfen :)

Dank & Gruß BT
 

ovbb

es gibt für alles eine weg

AW: SQL-Abfrage aus 2 Tabellen

Manchmal steht man dann wie der Ochs vor´m Berg ó.O

Das kann natürlich vorkommen. Die Grundlagen muss man sich leider aneignen. Hierfür gibt es zahlreiche Tutorials. Das schöne an SQL ist es, dass es meist mehrere Wege zum Ziel gibt. Leider muss man aber auch sagen, dass manche zwar das gewünschte Ergenis bringen (zumindest für einen speziellen Fall) aber nicht sonderlich performant sind. Man hat somit nie ausgelernt :)

lg
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben