如果field1=0,则SQLite联接,否则不联接并写入field2
我有以下表格:如果field1=0,则SQLite联接,否则不联接并写入field2,sql,database,sqlite,select,Sql,Database,Sqlite,Select,我有以下表格: -Customer- ID | isUsingStandardNumber | name |... 1 1 Cust1 2 0 Cust2 -CustomerProducts- number | customerNumber | customerID | ... A123 cust2nr123 2 -Request- ID | productNumber
-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有entrys(只有第二个请求)但没有第一个请求的结果 你的设计没有多大意义。为什么
customerNumber
会成为CustomerProducts
的属性?这似乎是一个依赖于Customer
表的字段。customerNumber表示客户用于产品的编号,而不是客户的编号