Suche über 2 Tabellen

s_eggert

Grünschnabel
Hi,

habe 2 Tabellen

Tabelle1

|artikelnr1|artikelnr2|artikelnr.3|katalogseite|

Tabelle2
|artikelnr|preis|

Die artikelnr2 aus Tabelle1 und die artikelnr aus Tabelle2 sind gleich. Es gibt aber nicht zu jeder artikelnr1 auch eine artikelnr2 in der Tabelle1.

Nun möchte ich nach der artikelnr1 aus Tabelle1 suchen und wenn es dazu eine artikelnr2 gibt diese ausgeben und den Preis aus Tabelle2 auch.


$query = "SELECT $table1.*, $table2.* FROM $table1, $table2
WHERE $table1.artikelnr1='$suche'
AND $table1.artikelnr2=$table2.artikelnr";

Mit dieser Abfrage erhalte ich aber keine Datensätze wo es die artikelnr2 nicht gibt.

Habe div. Abfragen mit "Join" probiert bekomme aber keine funktionsfähige Abfrage hin.


Hat jemand eine Lösung für mich?
MFG
Sebastian
 
Zuletzt bearbeitet:
Ich würde das mit einem JOIN befehl machen:

SELECT $table1.artikelnr, $table2.artikelnr, $table2.artikelpreis
FROM $table1
JOIN $table2 ON $table1.artikelnr=$table2.artikelnr
WHERE $table1.artikelnr LIKE '$suche' ";

Vielleicht liegt es nur am LIKE statt =

So wird es in iSQL Plus für Oracle gemacht, ich denke die Syntax ist nicht viel anders in MySQL.

Probier es mal aus.


MfG Radhad
 
Hallo,

mit Ansi-SQL geht das genau so:

$query = "SELECT $table1.*, $table2.*
FROM $table1, $table2
WHERE $table1.artikelnr1='$suche'
AND $table1.artikelnr2=$table2.artikelnr(+)";


Grüße aus Hamburg
Movera
 
Zurück