【发布时间】:2020-11-10 14:54:08
【问题描述】:
我有一张名为“订单”的表格。我的表中有一个名称为 adressFinder('*', '%', '+') 的 1 个字符的字段。如果有“+”,我想从“客户”表中选择“地址”字段。如果有“%”,我想从“customerTwo”表中选择“adress”,如果有“+”,则从“customerThree”表中选择“adress”。
所有表格都可以通过“customerID”字段连接。
我尝试了类似的方法但不起作用(语法问题):
Select order.orderId, order.customerID,
CASE WHEN order.adressFinder = '*' THEN (SELECT customer.adress FROM customer INNER JOIN order on (customer.customerID = order.customerID))
WHEN order.adressFinder = '%' THEN (SELECT customer.adress FROM customerTwo INNER JOIN order on (customerTwo.customerID = order.customerID))
WHEN order.adressFinder = '+' THEN (SELECT customer.adress FROM customerThree INNER JOIN order on (customerThree.customerID = order.customerID))
END
FROM order
INNER JOIN customer on (order.customerID = customer.customerID)
INNER JOIN customerTwo on (order.customerID = customerTwo.customerID)
INNER JOIN customerThree on (order.customerID = customerThree.customerID)
有人可以帮我解决我的问题吗?谢谢!
【问题讨论】:
-
样本数据和期望的结果会有很大帮助。
标签: mysql sql database if-statement