我正在使用SQL Server 2008,需要检查每个订购产品的最低价格。 (2,11,15是supplerid
)加入多个表时的SQL最低价格
这是查询:
SELECT
od.IDPRODUCTO,
p.NOMBRE AS DescProd,
t.MIN_PRICE,
t.IDLIBRERIA,
FECHAACTUALIZACION
FROM
ORDERDETAILS od
JOIN
(SELECT
rpl.IDPRODUCTO,
MIN(PRECIO) AS min_price,
rpl.IDLIBRERIA AS idlibreria
FROM
RELPRODUCTOLIBRERIAS rpl
GROUP BY
rpl.IDPRODUCTO, rpl.IDLIBRERIA) t ON t.IDPRODUCTO = Od.IDPRODUCTO
JOIN
PRODUCTOS p ON (od.IDPRODUCTO = p.ID)
LEFT JOIN
EDITORIALES e ON (p.IDEDITORIAL = e.ID)
LEFT JOIN
ORDERSTATUSFOLLOWUP osf ON osf.ID = Od.IDSTATUSFOLLOWUP
WHERE
IDORDER = 98770
返回:
╔════════╦═══════════════════════╦════════╦════╦════════════╗
║ 153389 ║ CONCIENCIA- SOCIALES ║ 165.00 ║ 11 ║ 2014-06-27 ║
║ 153389 ║ CONCIENCIA - SOCIALES ║ 165.00 ║ 15 ║ 2014-06-27 ║
║ 136892 ║ CUENTEME DON SEGUNDO ║ 70.00 ║ 2 ║ 2014-06-27 ║
║ 136892 ║ CUENTEME DON SEGUNDO ║ 50.00 ║ 11 ║ 2014-06-27 ║
║ 136892 ║ CUENTEME DON SEGUNDO ║ 70.00 ║ 15 ║ 2014-06-27 ║
╚════════╩═══════════════════════╩════════╩════╩════════════╝
我需要这样的结果:
╔════════╦═══════════════════════╦════════╦════╦════════════╗
║ 153389 ║ CONCIENCIA - SOCIALES ║ 165.00 ║ 11 ║ 2014-06-27 ║
║ 136892 ║ CUENTEME DON SEGUNDO ║ 50.00 ║ 11 ║ 2014-06-27 ║
╚════════╩═══════════════════════╩════════╩════╩════════════╝
什么需要被改变?
感谢
如果你有更容易明白的问题,更容易向你展示的解决方案的一些样本数据。 – Gidil
你是指样本数据的原始表格吗? –
这个或者接近它的东西可以让我们知道你在处理什么 – Gidil