2016-01-13 74 views
-1

我有这样一个表:如何选择所有相关的行?

// Mytable 
+----+--------------------+---------+ 
| Id | QuestionOrAnswer | related | 
+----+--------------------+---------+ 
| 1 | question1   | 0  | 
| 2 | answer1   | 1  | 
| 3 | answer2   | 1  | 
| 4 | question2   | 0  | 
| 5 | question3   | 0  | 
| 6 | answer4   | 5  | 
| 7 | answer4   | 4  | 
| 8 | answer4   | 5  | 
+----+--------------------+---------+ 

在上表中0手段“问题”和任意数量的其他意味着“答案”。另外,在related列中,每个问题的自身编号都有自己的编号。现在我想知道,我如何选择问题以及所有自己的答案?事情是这样的:

对于问题1:

// Mytable 
+----+--------------------+---------+ 
| Id | QuestionOrAnswer | related | 
+----+--------------------+---------+ 
| 1 | question1   | 0  | 
| 2 | answer1   | 1  | 
| 3 | answer2   | 1  | 
+----+--------------------+---------+ 

对于问题2:

// Mytable 
+----+--------------------+---------+ 
| Id | QuestionOrAnswer | related | 
+----+--------------------+---------+ 
| 4 | question2   | 0  | 
| 7 | answer4   | 4  | 
+----+--------------------+---------+ 

对于问题3:

// Mytable 
+----+--------------------+---------+ 
| Id | QuestionOrAnswer | related | 
+----+--------------------+---------+ 
| 5 | question3   | 0  | 
| 6 | answer4   | 5  | 
| 8 | answer4   | 5  | 
+----+--------------------+---------+ 

等等..我该怎么做?

回答

1

试试这个:

select * from Mytable where id = 1 or related = 1 
+0

是否有可能产生一个工作的例子吗?我不明白这将如何产生所需的输出(例如“question2”或“question3”的输出)。 – showdev

+0

@showdev非常简单,'id = 1'部分选择ID为1的问题,'related = 1'部分选择与ID为1的问题相关的答案。 –

+0

它如何输出“question2”的问题和答案? – showdev