按如下特征:类别、书名、价格、出版社、作者在数据库中找出相似度较高的书籍(前10条)
例如条件: c#1.0, 人民出版社,22
数据库中有如下数据:
第一条:c#2.0,成都出版社,30
第二条:c#1.0,成都出版社,22
...
第N条:java,成都出版社,100
结果应该是:
第二条:c#1.0,成都出版社,22
第一条:c#2.0,成都出版社,30
请问这个sql语句应该怎么写呢?
类别和出版社分别是外键,需要联表查询
select top 10 * from
(
(
select *,'3' as c from table
where 书名='条件' and 人民出版社='条件' and 价格='条件'
)
union
(
select *,'2' as c from table
where 书名='条件' and 人民出版社='条件'
)union
select *,'1' as c from table
where 书名='条件'
) as bb order by c
我觉得这问题到csdn上问,那里的牛人很多。博客园的很多人牛人 都已经不回答问题了。