我有一個問題,可以用一個類似於SO的系統來模擬:帖子和標籤。爲了讓我的帖子,我可能會做這樣的事情:如何將第二個查詢「水平化」到我的第一個查詢中?
SELECT title, body, author FROM posts WHERE id = ?
,然後讓我的標籤非常簡單
SELECT tag_id FROM tags_on_posts WHERE post_id = ?
比方說,我有個限度,像這樣做,你只能每5個標籤帖子。無論如何,我可以在單個查詢中做到這一點?
SELECT title, body, author, tag1, tag2, tag3, tag4, tag5
FROM posts
JOIN /*help*/
WHERE id = ?
[你有沒有試過SQL Pivot?](http://technet.microsoft.com/en-us/library/ms177410(v = sql.105).aspx),它們可能很痛苦,但是非常有用。 [你也可以動態與他們](http://stackoverflow.com/questions/10404348/sql-server-dynamic-pivot-query) – TheNorthWes
我忽略了我的數據庫特定的標記。我正在研究Postgres。現在我知道術語PIVOT,我剛開闢了一條新的研究大道。 – corsiKa
啊,好吧,我希望這些途徑有所幫助。如果你知道它總是5 ...你可以使用臨時表來構造兩個中間表,然後將它們合併到第三個中間表中。 – TheNorthWes