查询获取值

时间:2012-12-26 10:46:02

标签: mysql sql select

我有两个表格问题和标签,每个问题与许多标签相关联 我想使用查询来获取问题和相关标签。 我没有得到如何获取它。

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不应该用标签重复

3 个答案:

答案 0 :(得分:2)

如果您质疑至少有一个代码使用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

答案 1 :(得分: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

答案 2 :(得分:0)

 SELECT ques,tag FROM quesions t1,tags t2 ON t1.qid = t2.qid