我需要查询方面的帮助,我有一个表,这是一个示例
Item Code Qty Price Supplier
1234 1 20 A
1234 3 15 B
1234 6 2 C
4321 2 8 D
4321 7 1 A
4321 9 5 G
5432 8 10 E
5432 3 2 F
5467 5 9 H
5467 5 7 K
我有一个子查询,其中包含不同的项目代码,最大(价格(和最高(价格(的75%,这是结果。
Item Code Max value Min Value
1234 20 15
4321 8 6
5432 10 7.5
5467 9 6.75
,如果价格落在特定项目代码的第二个表范围内,我只需要从第一表中拉这些行。谁能帮忙?
您可以尝试一下:
SELECT
a.*
FROM items a
JOIN (
SELECT
item_code,
MAX(Price) as Max_Value,
MAX(Price) * 0.75 as Min_Value
FROM items
GROUP BY item_code) b
ON a.item_code = b.item_code
WHERE a.price between b.Min_Value AND b.Max_Value
order by a.item_code, a.price ASC
我将首先获得每个项目代码的最高价格,并使用ItemCode和chwck加入主表,价格在最高和最高价格之间的75%和最高价格之间。
Select tbl.*
From myTable tbl
Join (
Select item_code,
max(price) as mx,
Round(max(price)*.75,0) as mx75
From myTable
Group by item_code) tab
On tbl.item_code = tab.item_code
And tbl.price between tab.mx75 and tab.mx
Order by 1, 4