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

Korekta czterech zapytań, błędna składnia
TS
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
0

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

wszystkie zapytania na bazie samplowej Northwind z msdn

Kopiuj
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.

Kopiuj
[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'.

Kopiuj
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?

Kopiuj
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..

abrakadaber
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6610
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

__krzysiek85
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1019
0

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

Kopiuj
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

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.