例如,有两个表T1和T2:
T1作为,表中唯一的值是‘Prime’、‘Non-Prime’或'All'.如下所示,Shipping_type可以是三个值之一.在本例中,它是‘Prime’.‘all’表示它可以是Prime也可以是Non-Prime.
shipment_type
Prime
和T2为:
order_day customer_id shipment_type order_total
2/1/2024 118XXXXXXX Prime 181.9
1/24/2024 118XXXXXXX Prime 71.49
1/29/2024 118XXXXXXX Non-Prime 814.38
1/29/2024 118XXXXXXX Non-Prime 814.38
我想根据T1表中的值筛选T2表,但如果T1表中的SHIPTING_TYPE为‘ALL’,我不知道如何 Select T2表中的所有值.
我试着像这样筛选表T2,但是这只包括Prime或非Prime结果.如果t1.Shipping_type=‘all’,我希望获得T2表中的所有值
SELECT t1.* FROM t2
WHERE
t2.shipment_type = (SELECT CASE WHEN t1.shipment_type = 'Prime' THEN 'Prime'
WHEN t1.shipment_type = 'Non-Prime' THEN 'Non-Prime'
END AS customer_type
FROM t1)
我不认为在Case When中添加第三个条件会有帮助,因为表T2中没有‘all’字段.
感谢并感谢您的回复