我无法自己解决这个问题,所以我想知道你们是否可以帮助我。我试图在谷歌,stackoverflow和其他几个地方找到我的答案,但没有任何结果..
我提出了一个问题:
SELECT leverancier.leveranciers_id,
medicijn.artikelnr,
medicijn.naam,
medicijn.in_voorraad,
medicijn.min_voorraad,
min(order_medicijn.inkoopprijs) AS price
FROM leverancier
INNER JOIN voorraadorder
ON leverancier.leveranciers_id = voorraadorder.leverancier_id
INNER JOIN order_medicijn
ON order_medicijn.voorraadorder_id = voorraadorder.voorraadorder_id
INNER JOIN medicijn
ON medicijn.artikelnr = order_medicijn.artikel_id
GROUP BY leverancier.leveranciers_id,
medicijn.artikelnr,
medicijn.naam,
medicijn.in_voorraad,
medicijn.min_voorraad
ORDER BY artikelnr
这给出了以下结果:
Leveranciers_ID / artikelnr / naam in_voorraad / min_voorraad / price
2 1 Aspirine 100 50 0.74
1 1 Aspirine 100 50 0.75
2 2 Abacivr 200 180 4.50
4 2 Abacivr 200 180 4.00
4 3 Acetazolamide 100 90 1.20
5 4 Ciclovir 145 120 0.50
3 5 levoceterizine 125 120 2.00
问题出现了: 我需要什么查询才能得到相同的结果,但只有每个artikelnr的价格最低的记录。所以结果是这样的:
Leveranciers_ID / artikelnr / naam in_voorraad / min_voorraad / price
2 1 Aspirine 100 50 0.74
4 2 Abacivr 200 180 4.00
4 3 Acetazolamide 100 90 1.20
5 4 Ciclovir 145 120 0.50
3 5 levoceterizine 125 120 2.00
如果有任何其他信息需要回答这个问题,请问我。
提前致谢
答案 0 :(得分:0)
可能的解决方案之一:添加一个内部SQL,用于计算每个 artikelnr 的 min 价格,并使用 HAVING 子句,使用内部SQL来过滤结果。
干杯