如何从sql server中的两个表中获取值

时间:2014-04-03 13:02:59

标签: sql-server

我有两张桌子 首先是tbcategory enter image description here

其次是tbcompany enter image description here

我想从这两个表中检索来自tbcompany的公共图像和来自tbcategory的所有数据根据外键

这是我想要的一个例子

enter image description here

这是我在sql server中的查询

   select cat.category, comp.imagename  from tb_category as cat
   inner join tb_company as comp
   on cat.companyid=comp.id

///////

  i am getting result like this 

enter image description here

   and want result like this

enter image description here

3 个答案:

答案 0 :(得分:1)

试试这个:

   select comp.imagename, cat.category
   from tb_company comp
   join tb_category cat on cat.companyid=comp.id

答案 1 :(得分:1)

基于相当多的假设 - 您的数据模式似乎不正确。

您希望tbcategory每个类别都有一条记录

tbcategory: id, category, url

和tbcompany引用了该公司的类别

tbcompany: id, categoryid, name, imagename

然后你的查询将是

select comp.imagename, cat.category, cat.url
from tb_company comp
inner join tb_category cat on comp.categoryid = cat.id

这将返回如下所示的数据,这似乎是您想要的:

imagename    category   url
comp1logo    cat1       http://cat1url
comp2logo    cat1       http://cat1url
comp3logo    cat2       http://cat2url

答案 2 :(得分:0)

 select comp.imagename, cat.category
  from tb_company comp
 join tb_category cat on cat.companyid=comp.id