1

これが可能かどうかはわかりませんが、カテゴリという名前のテーブルがあります。各カテゴリは部門に割り当てられます。だから私はカテゴリのグループを取得するために自分のデータベースを照会します

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

私の質問は、2 つのクエリを組み合わせる方法はありますか、それとも別々に行う必要があるのでしょうか? あるテーブルの結果をグループ化し、それを検索条件として使用して別のテーブルにクエリを実行できますか? これを理解するのを手伝ってくれてありがとう。:)

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 に答える