1

我不确定这是否可能,但我有一个名为 category 的表。每个类别都分配给一个部门。所以我查询我的数据库以获取一组类别

SELECT id_category FROM [db].[dbo].[category]
WHERE (id_division = <<id_division_here>>) GROUP BY id_category

我得到了我期望的类别列表。现在,我需要确保这些类别存在于另一个名为 content 的表中,该表有一个包含多个值的字段 - 所以 LIKE 语句适用于此......基本上

SELECT title FROM [db].[dbo].[content]
WHERE (assigned_to LIKE '% <<id_category_here>> %') ORDER BY title

我的问题是,我有没有办法将这两个查询结合起来,还是需要单独完成?我可以将一个表中的结果分组并将其用作搜索条件来查询另一个表吗?感谢您帮助我解决这个问题。:)

4

2 回答 2

0

尝试:

SELECT a.id_category, o.title 
FROM [db].[dbo].[category] a
JOIN [db].[dbo].[content] o
  ON o.assigned_to LIKE '%'+ a.id_category + '%'
WHERE a.id_division = <<id_division_here>>
于 2013-04-26T12:51:01.517 回答
0

可能这对您有帮助-

SELECT /*DISTINCT*/ c.title, t.id_category 
FROM dbo.content c
CROSS JOIN (
    SELECT DISTINCT c.id_category 
    FROM dbo.category c
    WHERE c.id_division = <id_division_here> 
) t
WHERE c.assigned_to LIKE '%' + t.id_category + '%' 
ORDER BY c.title
于 2013-04-26T12:47:37.370 回答