Vinzenz Mai: MySQL Abfrage über 2 Tabellen

Beitrag lesen

Hallo,

Ich habe eine Artikelnr. die sowohl zu einem Artikel als auch zu einer Artikel-Variante passen kann.

das ist die Ausgangslage. Was möchtest Du denn als Ergebnis haben.

Ist die Artikelnr ($ItemID) eine Variante, bekomme ich die Werte mit
SELECT CSVMENGE, HARTNR FROM $SITM WHERE ITEMID = "$ItemID"
ist es ein Artikel mit
SELECT CSVMENGE, HARTNR FROM $ITEM WHERE ITEMID = "$ItemID"

[... ein paar Statements entfernt ...]

bringen aber immer nur "undefined"

undefined ist keine übliche Antwort eines Datenbankservers auf eine Query

Vermutlich möchtest Du in Deinem Abfrageergebnis sowohl die passenden Zeilen aus der Tabelle der Varianten als auch die passenden Zeilen aus der Tabelle der Artikel. Wenn ich mit meiner Vermutung richtig liege, dann willst Du eine UNION verwenden:

SELECT  
    CSVMENGE,      -- komplett groß geschriebene Spaltennamen sind unüblich  
    HARTNR         -- und erschweren die Lesbarkeit  
FROM  
    $SITM          -- ein zulässiger, wenn auch ungewöhnlicher Tabellenname  
WHERE  
    ITEMID = '$ItemID'  -- MySQL ist das einzige mir bekannte DBMS, das  
                        -- doppelte Anführungszeichen als Begrenzer von  
                        -- Zeichenketten erlaubt. Gewöhne Dir daher besser an,  
                        -- grundsätzlich mit einfachen Anführungszeichen  
                        -- zu arbeiten.  
[link:http://dev.mysql.com/doc/refman/5.1/en/union.html@title=UNION ALL]  
  
SELECT  
    CSVMENGE,  
    HARTNR  
FROM  
    $ITEM  
WHERE  
    ITEMID = '$ItemID'  

sollte dann liefern, was Du haben willst.

Freundliche Grüße

Vinzenz