0

私は2つのテーブルの質問とタグを持っています。各質問は、クエリを使用して質問と関連するタグを取得したい多くのタグに関連付けられています。取得する方法がわかりません。

questions 
qid ques
Q1  abc
Q2  rst 


tags
id  tag   qid
T1   css   1
T2   html  1
T3   java  1
T4   php   2
T5   c++   2
T6   html  2     

私は結果が欲しい

Q1 abc   T1   css   1
         T2   html  1
         T3   java  1

q1 abc はタグで繰り返されるべきではありません

4

3 に答える 3

2

質問する場合は、少なくとも 1 つのタグを使用してINNER JOINください。

SELECT  a.*, b.*
FROM    Question a
        INNER JOIN tags b
            ON a.qid = b.qid
-- WHERE a.qid = 1
ORDER BY a.qid, b.id

ただし、タグがオプションで、質問を結果リストに表示したい場合は、使用しますLEFT JOIN

SELECT  a.*, b.*
FROM    Question a
        LEFT JOIN tags b
            ON a.qid = b.qid
-- WHERE a.qid = 1
ORDER BY a.qid, b.id
于 2012-12-26T10:48:08.337 に答える
2

これを使って:

SELECT q.qid,q.ques,t.id, t.tag,t.qid FROM questions AS q JOIN tags AS t WHERE q.qid = t.qid
于 2012-12-26T10:54:43.427 に答える
0
 SELECT ques,tag FROM quesions t1,tags t2 ON t1.qid = t2.qid
于 2012-12-26T10:50:00.413 に答える