我有3张桌子。我的桌子是
PRODUCT ( pro_id, name , api )
Definition ( def_id, name )
Product_details ( id, pro_id, def_id, value )
pro_id和def_id是表product和definiton的外键。
我的表记录就像这样
Product ( 1, Goal , A01 ) , ( 2 Shampoo, A01 ) , ( 3, Cell, A02 )
Definition ( 1, Effect ) , ( 2, Satisfaction ) , ( 3, total )
Product_details ( 1, 1, 1, 5 ) , ( 2, 1 , 2, 1 ), ( 3, 1, 3, 3 ) ( 4, 2, 3, 2 )
我想选择API =" A01"并按product_details值排序
解决方案应该是目标,洗发水。
我尝试了很多东西但是,我无法得到我想要的东西,
我正在使用jsf,hibernate,我不能写hibernate查询因为我仍然无法用sql做,有人可以帮我解决sql脚本或者hibernate脚本。
答案 0 :(得分:0)
试试这个:
SELECT p.name
FROM Product p
JOIN (SELECT pro_id,
Max(value) AS value
FROM Product_details
GROUP BY pro_id) pd
ON p.pro_id = pd.pro_id
ORDER BY pd.value
答案 1 :(得分:0)
select pr.pro_id,pr.name,pr.api
from
(select pro_id,name,api from product) pr,
(select pro_id,max(value) from product_details
group by pro_id) pd
where pd.pro_id=pr.pro_id;