2011-09-21 24 views
0

我有這樣的表結構如何在單個查詢中獲取父母和孩子的評論?

我想建立查詢,通過它我可以使用tst_id(被稱爲父評論),這tst_id應(如果有的話)parent_tst_id(這些被稱爲子匹配獲取所有行註釋)。但條件是父註釋(parent_tst_id = 0)和子註釋(tst_id)應該同時在相同的查詢中獲取。

tst_id mem_id from_id  testimonial  added   parent_tst_id 
3500 822  822  and KdevInd  1316613536   3497 
3499 329  329  Reply by me  1316613489   3497 
3498 821  821  a Fan comme  1316613307   3497 
3497 329  399  Profile COm  1316613243   0 

請大家幫忙, 感謝

回答

0

您可以自聯接表

SELECT child.*, parent.* 
FROM comments AS child 
LEFT JOIN comments AS parent ON child.parent_tst_id = parent.tst_id 
WHERE child.tst_id = XXX 
+0

但我沒有'tst_id'我只有'mem_id'的父註釋 – Sparkx

+0

'WHERE parent.mem_id = XXX'在這種情況下。雖然在這種情況下,您會收到以XXX記錄爲父母的任何子女評論。 –

+0

沒有馬克,它不像那個見我打印的問題表我在父註釋中只有mem_id = 329'我可以評論我的父註釋,不同的用戶也可以評論那個父註釋,所以mem_id每次都是不同的 – Sparkx

0

假設tst_id可與你始終是一個父評論,你可以簡單地使用下面的查詢:

SELECT * 
FROM comments 
WHERE tst_id = XXX 
OR parent_tst_id = XXX 
+0

不,我沒有'tst_id'我只有'mem_id'的父註釋 – Sparkx

+0

那麼你想檢索由某個mem_id做的所有父註釋以及他們的子註釋? – Vikk

+0

是的,你沒有得到我的觀點,所以這就是爲什麼我在table'tst_id'中作爲'parent_tst_id'中的子註釋 – Sparkx