SQL Server Unterabfrage hat mehr als 1 Wert. Dies ist nicht zulässig, wenn die Unterabfrage folgt =, !=, <, <= , >, >=

Ich die folgende Abfrage ausführen:

SELECT 
   orderdetails.sku,
   orderdetails.mf_item_number,
   orderdetails.qty,
   orderdetails.price,
   supplier.supplierid,
   supplier.suppliername,
   supplier.dropshipfees,
   cost = (SELECT supplier_item.price
           FROM   supplier_item,
                  orderdetails,
                  supplier
           WHERE  supplier_item.sku = orderdetails.sku
                  AND supplier_item.supplierid = supplier.supplierid)
FROM   orderdetails,
       supplier,
       group_master
WHERE  invoiceid = '339740'
       AND orderdetails.mfr_id = supplier.supplierid
       AND group_master.sku = orderdetails.sku  

Bekomme ich die folgende Fehlermeldung:

Msg 512, Ebene 16, Status 1, Zeile 2
Unterabfrage hat mehr als 1 Wert. Dies ist nicht zulässig, wenn die Unterabfrage folgt =, !=, <, <= , >, >= oder wenn die Unterabfrage als Ausdruck verwendet.

Irgendwelche Ideen?

Oh, und aufhören, die implizite join-syntax, Es ist eine sehr schlechte Praxis, schwieriger zu verwalten und einfacher, Fehler zu machen.
warum ist es schlechte Praxis, schwieriger zu verwalten und einfacher, Fehler zu machen?

InformationsquelleAutor Anilkumar | 2010-04-16

Schreibe einen Kommentar