請看截圖:幫助與某個單一(評論)表中的SQL查詢(包括截圖)
目標:
- ID喜歡有評論嵌套1級深
- 將安排評論,以便父母的評分從高到低
- 評論的子女評論是無關緊要的
屏幕截圖的左側顯示了Id喜歡的輸出。 RHS顯示錶格數據。所有評論都在1張表中。
我是個與SQL查詢的初學者,我能做的最好的是:
SELECT *
FROM [Comments]
WHERE ([ArticleId] = @ArticleId) ORDER BY [ThreadId] DESC, [DateMade]
這個有點做工作,但它顯然忽略了評級。因此,上述聲明將顯示Bob的評論和所有孩子評論都在Amy和她的孩子評論之前的輸出。 如何正確運行此查詢?
謝謝,我昨天花了整整一天的時間試圖找點工作。我花了很多時間查看案件陳述無濟於事。我甚至沒有考慮過自己加入一張桌子,感謝這個見解。向任何正在閱讀的人澄清問題。 1)如果我把父母和孩子放在單獨的桌子上,我會過得更好嗎? 2)上述查詢是否被認爲是「昂貴的」,或者是在處理最初的需求時需要的典型查詢類型,只是想了解更多,謝謝 – citrus 2010-06-03 22:33:23
1)我認爲沒有。我想到的是,存儲一個額外的字段「threaRating」以防止加入,而不得不更新1 + n對線程評級更改的評論。 2)因爲它是1:1連接,只要你的索引設置正確,以便快速查找,它不應該是昂貴的。 – 2010-06-03 23:33:00