so habe ich ein Problem, das ich versuche, seit ein paar Wochen zu lösen, aber ich komme zu keiner Lösung. Also hier sind die Tabellen, die ich versuche, eine Abfrage zu machen auf: TablesPostgresql Abfrage Problem
ich sie natürlich verbunden (leicht):
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';
Jetzt kommt das Problem: ich die Zeilen bestellen möchten durch date desc und distinct sie, so dass die letzte eingefügte Zeile (mit dem neuesten Datum) die erste Zeile ist. Aber die Ergebnisse sind sehr merkwürdig, wenn sie erst einmal ausgezeichnet wurden. Ich versuchte dies:
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;
das funktioniert, obwohl ich einmal distinctig a.book_fk Ergebnisse sind falsch versuchen:
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;
ich sogar versucht, Ansätze wie diese, aber ohne Erfolg:
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
Könnte mir jemand helfen? Ich wäre sehr glücklich! Vielen Dank!
Es tut mir leid, einige Spaltennamen – Nano
hier falsch waren, sieht das Styling und erneut bearbeiten. –
Vielen Dank! – Nano