所以我有一個問題,我試圖解決幾個星期,但我沒有來解決任何問題。因此,這裏是我努力讓自己在查詢表: TablesPostgresql查詢問題
我明明加入了他們(易):
SELECT a.date,b.title,b.author,u.nick
FROM book_add a
INNER JOIN user u on(a.user_fk=u.id)
INNER JOIN book b on (a.book_fk=b.id)
INNER JOIN status s ON(a.status_fk=s.id)
WHERE s.description='active';
現在,這裏是問題:我想對行進行排序日期desc並區分它們,以便最後插入的行(具有最新日期)第一行是。但一旦得到區分,結果是非常奇怪的。我嘗試這樣做:
SELECT a.date,b.title,b.author,u.nick
FROM book_add a
INNER JOIN user u on(a.user_fk=u.id)
INNER JOIN book b on (a.book_fk=b.id)
INNER JOIN status s ON(a.status_fk=s.id)
WHERE s.description='active' ORDER BY a.date DESC;
這個工程,但一旦我嘗試distinctig a.book_fk結果是錯誤的:
SELECT DISTINCT ON(a.book_fk)a.book_fk,a.date,b.title,b.author,u.nick
FROM book_add a
INNER JOIN user u on(a.user_fk=u.id)
INNER JOIN book b on (a.book_fk=b.id)
INNER JOIN status s ON(a.status_fk=s.id)
WHERE s.description='active' ORDER BY a.date DESC;
我甚至這樣一個嘗試的辦法,但都沒有成功:
SELECT * FROM (SELECT DISTINCT
ON(a.book_fk)a.book_fk,a.date,b.title,b.author,u.nick
FROM book_add a
INNER JOIN user u on(a.user_fk=u.id)
INNER JOIN book b on (a.book_fk=b.id)
INNER JOIN status s ON(a.status_fk=s.id)
WHERE s.description='active') res ORDER BY res.date DESC
有人可以幫我嗎?我會非常高興!謝謝!
對不起,某些列名錯誤 – Nano
在這裏,請參閱樣式並再次編輯。 –
非常感謝! – Nano