我有这张表:
-Customer-
ID | isUsingStandardNumber | name |...
1 1 Cust1
2 0 Cust2
-CustomerProducts-
number | customerNumber | customerID | ...
A123 cust2nr123 2
-Request-
ID | productNumber | customerID | ...
1 A123 1
2 A123 2
现在我尝试使用select:
显示此表**SELECT Result**
RequestID | productNumber | customerNumber | customer
1 A123 A123 Cust1
2 A123 cust2nr123 Cust2
这意味着如果客户使用自己的号码,它应该是“CustomerProducts”中的条目。否则,“customerNumber”列应与“productNumber”具有相同的条目。我试过这个:
SELECT Req.ID as 'Request Nr',
Prod.productNumber as 'Product Nr',
Case WHEN Cust.isUsingStandardNumber = 1
THEN Prod.productNumber
ELSE CustProd.customerNumber END as 'Customer Nr',
Cust.name as 'Customer'
FROM Request Req
JOIN Customer Cust ON Cust.ID = Req.customerID
LEFT JOIN CustomerProducts CustProd ON CustProd.pn = Req.pn AND Req.customerID = CustProd.customerID
现在我只看到CustomerProducts表所委托的结果(只有第二个请求),而不是第一个请求。