我有三张table:
Items:
Id |Name | Price | Cat_Id
---- |-------|----------------
1 | Item1 | 50.00 | 1
2 | Item2 | 25.20 | 5
Category:
Id |Name |
---- |------|
1 | Cat1 |
2 | Cat2 |
Discount:
Id |Item_Id| Client_Id|Discount
---- |-------|----------------
1 | 1 | 1 | 10
2 | 1 | 2 | 15
3 | 2 | 2 | 6
我正在设法以适当的折扣购买所有商品,这对每个顾客都是不同的。在这个例子中,我有一个客户,客户id为1,对item1/10/有折扣,而他对item2没有折扣。结果应该是这样的:
Id |Name | Price | Cat | Discount
---- |-------|----------------|----------
1 | Item1 | 50.00 | Cat1| 10
2 | Item2 | 25.20 | Cat5| 0
我的问题是如何构建查询。我连接前两个表并需要过滤第三个表,但我应该使用临时表还是在查询中执行查询?
3条答案
按热度按时间csga3l581#
请这样做:
从折扣中获取所有行,然后获取所有项目并查找类别。如果一个项目没有折扣(空),你得到一个0
mznpcxlj2#
为了得到你想要的结果,
以下是查询。。。
更新
根据op的意见
qni6mghb3#
这是一个简单的sql查询。
输出如下: