Korekta czterech zapytań, błędna składnia

0

Proszę o wskazanie błędów składniowych i innych w poniższych zapytaniach

wszystkie zapytania na bazie samplowej Northwind z msdn

SELECT [Nazwa produktu] , [Cena katalogowa] * 1.2 AS [cena katalogowa + 20%]
FROM dbo.Produkty

W tym zapytaniu wynikiem jest cena podana z precyzją 5 cyfr po przecinku, chciałbym to ukrócić do 2 miejsc po przecinku.

[sql]SELECT 'Produkt ' + [Nazwa produktu] + ' kosztuje', [Cena katalogowa] ORDER BY [Cena katalogowa] DESC;
FROM dbo.Produkty[/sql]

wszystko było jak należy, dopóki nie dodałem fragmentu "ORDER BY [Cena katalogowa]". Po dodaniu tego wysypuje błąd:

Incorrect syntax near the keyword 'FROM'.

SELECT [Data zamówienia]
FROM dbo.[Zamówienia]
ORDER BY [Data zamówienia] DESC;

wynik podany z godzinami a mam wyświetlić bez. Użyć funkcji YEAR(), MONTH(), DAY(). Ale jak?

SELECT [ID zamówienia] , [ID spedytora] FROM dbo.Zamówienia ORDER BY case when [ID spedytora] = 'NULL' then 99 ELSE [ID spedytora] end

wynikiem w tym zapytaniu ma być odczyt kolumn ID zamówienia i ID spedytora posortowane rosnąco wg kolumny ID spedytora, ale w taki sposób żeby wartości NULL znalazły się na końcu a nie na początku wyniku

Error: Conversion failed when converting the varchar value 'NULL' to data type int..

0

pierwszy lepszy kurs SQLa a nie czekać na gotowca leniu. Co do 2 to na podstawie pozostałych zapytań i przy minimalnym wysileniu mózgu powinieneś wiedzieć co jest źle. No ale wynika z tych pytań, że jedna masz mózg nienawykły do myślenia

0

Do punktu 4.
Napis 'NULL' to nie NULL.

SELECT [ID zamówienia] , [ID spedytora] FROM dbo.Zamówienia ORDER BY CASE WHEN [ID spedytora] IS NULL THEN 99 ELSE [ID spedytora] END

lub

SELECT [ID zamówienia] , [ID spedytora] FROM dbo.Zamówienia ORDER BY ISNULL([ID spedytora], 99)

1 użytkowników online, w tym zalogowanych: 0, gości: 1