Die folgende Abfrage funktioniert mit PostgreSQL und ich möchte wissen, warum es nicht mit SQL Server funktioniert 2016.SQL Server, um durch mit max Zeilen in Unterabfrage
select * from (values (1),(2)) as a(a)
UNION
(
select * from (values (1),(2)) as a(a)
order by 1 desc
offset 0 rows fetch first 1 rows only
)
order by 1 desc offset 0 rows fetch first 1 rows only
Kann jemand mir erklären, warum bestellen von würde hier nicht unterstützt?
Komisch, dass die folgenden, die eine andere Möglichkeit, dies auszudrücken, ist, wie ein Zauber funktioniert
select * from (values (1),(2)) as a(a)
where a.a in(
select * from (values (1),(2)) as a(a)
order by 1 desc
offset 0 rows fetch first 1 rows only
)
order by 1 desc offset 0 rows fetch first 1 rows only
Ist das ein Fehler?
Bestellung per Ordnungsposition ohnehin eine schlechte Gewohnheit ist. Gleich mit Select *. Bei der Bestellung sollten Sie den Spaltennamen anstelle der Ordinalposition verwenden. Was passiert, wenn Sie den Tisch wechseln? Plötzlich funktioniert Ihre Abfrage nicht mehr. –
Dies ist nur ein minimales Beispiel, um das Problem zu Demonstrationszwecken zu zeigen ... –