表1 id title content
1 哈哈 嘿嘿
2 哈哈 嘿嘿
表2
id aid jiage
1 1 300
2 1 500
3 1 200
4 2 500
5 2 600表一和表二是一个多的关系
我现在想要的结果是id title content jiage
1 哈哈 嘿嘿 200
2 哈哈 嘿嘿 500然后在这个结果中我想做个价格的比较,比如只显示 100 到 200 这个中间的行,怎么弄,发sql版半天没人回答,做程序做到这了,郁闷啊、、、
1 哈哈 嘿嘿
2 哈哈 嘿嘿
表2
id aid jiage
1 1 300
2 1 500
3 1 200
4 2 500
5 2 600表一和表二是一个多的关系
我现在想要的结果是id title content jiage
1 哈哈 嘿嘿 200
2 哈哈 嘿嘿 500然后在这个结果中我想做个价格的比较,比如只显示 100 到 200 这个中间的行,怎么弄,发sql版半天没人回答,做程序做到这了,郁闷啊、、、
FROM dbo.表1 AS A WITH(NOLOCK)
INNER JOIN dbo.表2 AS B WITH(NOLOCK) ON A.id = B.aid
GROUP BY A.id, A.title, A.content
HAVING B.jiage < 200 AND B.jiage > 100
--是不是要找出最小jiage?--
select a.*,jiage from tb1 a inner join (select min(jiage) jiage,aid from tb2 group by aid) b on a.id=b.aid
/*
1 哈哈 嘿嘿 200
2 哈哈 嘿嘿 500
*/