Ich bin mit SQL Server 2000 so traurig allgemeine Tabellenausdrücke sind, aber ich habe folgende 2 Tabellenstruktur:Rang() Äquivalent für SQL Server 2000
Rechnungen
id
InvoiceQueryReasons
id
invoice_id
reason
date_queried
Ich möchte innere Verbindung von Invoices
zu InvoiceQueryReasons
und erhalten nur 1 Zeile für jede Rechnung, die die neueste InvoiceQueryReasons
Re wählt Kabel.
Wenn ich einen CTE mit Postgress war ich mit so etwas wie tun würde:
SELECT *
FROM
(SELECT
"i"."id", "iq"."reason", "iq"."date_queried",
rank() OVER (PARTITION BY "invoice_id" ORDER BY "date_queried" DESC) AS "invoice_query_rnk",
FROM "invoices" i
INNER JOIN "InvoiceQueryReasons" iq ON ("i"."id" = "iq"."invoice_id")
) AS "iqrs"
INNER JOIN
"invoices" ON ("iqrs"."id" = "invoices"."id")
WHERE
("invoice_query_rnk" = 1)
Entschuldigt, wenn die Abfrage nicht genau richtig ist, ich dies auf einer nicht-dev Maschine schreibe.
Wie könnte ich eine ähnliche Abfrage in SQL Server 2000 schreiben, wo ich keinen gemeinsamen Tabellenausdruck habe?
..... oder *** schließlich *** Upgrade! ..... –
Einverstanden. Sein 2016 für das Schreien laut. – granadaCoder
die Entscheidung für ein Upgrade ist nicht meins :) und ich dränge darauf. Ich bin nur ein armer, bescheidener Bauunternehmer – dagda1