如何在SQLServer2005中映射两列
如果有人能帮我解决这个问题。我有两个表SearchBrain,SearchInitial和imageid,我的想法是根据Primarykeyword组合这两个表。请检查下表结构 表结构如何在SQLServer2005中映射两列,sql,sql-server,sql-server-2008,sql-server-2005,Sql,Sql Server,Sql Server 2008,Sql Server 2005,如果有人能帮我解决这个问题。我有两个表SearchBrain,SearchInitial和imageid,我的想法是根据Primarykeyword组合这两个表。请检查下表结构 表结构 Uid Primarykeyword ImageID ===== ======= ======= 1 Man 123456 2 Jumping 123456 3 Beach 123456 4
Uid Primarykeyword ImageID
===== ======= =======
1 Man 123456
2 Jumping 123456
3 Beach 123456
4 Man 123457
5 Ball 123457
6 Man 123458
7 Jumping 123458
8 Beach 123458
ImageID Color
======= =====
123456 Red
123457 Red
123458 Red
如何根据search man jumping beach重新运行这些图像ID123456123458
select ImageID
from SearchBrain
where Primarykeyword in ('Man','Jumping','Beach')
group by ImageID
having count(distinct Primarykeyword) = 3
其中3是关键字的数量
其中3是关键字的数量是否要将关键字列表作为参数传递,然后查询应搜索包含[所有]这些关键字的所有图像?为什么需要第二个表IamgeID,Color?我需要这个..我需要颜色排序选项..是否要将关键字列表作为参数传递,然后查询应该搜索包含[所有]这些关键字的所有图像?为什么你需要第二张桌子,颜色?我想要这个..我需要颜色排序选项..你应该添加GROUPBY子句,我认为它是正确的answer@RohitKhurana应该是现在,我已通过当前使用此查询添加了组:-从SearchInitial中选择ImageId,其中Primarykeyword='Man'相交从SearchInitial中选择ImageId,其中Primarykeyword='jumping'相交从SearchInitial中选择ImageId where Primarykeyword='beach',但它的工作速度非常慢。@RohitKhurana:如果podiluska的解决方案对您有利,那么您应该向上投票/选择此解决方案。您应该添加group by子句,我认为这是正确的answer@RohitKhurana现在应该是我已经添加了组。我正在使用此查询:-选择ImageId来自SearchInitial where Primarykeyword='Man'相交选择ImageId来自SearchInitial where Primarykeyword='jumping'相交选择ImageId来自SearchInitial where Primarykeyword='beach'但它的工作速度非常慢。@RohitKhurana:如果podiluska的解决方案对你有利,那么你应该投票/选择这个解决方案。