Poziom średniozaawansowany

Zadanie 17

Zadanie składa się z kilku kroków:

  1. Utwórz wspólne wyrażenie tablicowe (CTE), które będzie zwracać id przewoźnika, nazwę firmy, miasto i kraj. Dodaj filtr, który zwróci tylko przewoźników z Londynu. Nazwijmy to wyrażenie SuppliersByCity.

Wybierz wszystkie rekordy z SuppliersByCity.

  1. Zadeklaruj zmienną tekstową 'miasto’, która będzie przechowywać nazwę miasta. Zmodyfikuj CTE, wstawiając zmienną. (DECLARE @miasto as nvarchar(20) = 'London’;).
  2. Sprawdź poprawność działania kwerendy, wykonując ją z różnymi parametrami zmiennej @miasto (np Tokyo, Osaka, Berlin, Ravenna, Paris, Boston, Sydney).
  3. Zmodyfikuj kwerendę tak, by działała, gdy zmienna @miasto zawiera jedynie część nazwy.

Baza: Northwind, Tabela: dbo.Suppliers, Kolumny: SupplierID, CompanyName, City, Country

[spoiler title=’Rozwiązanie’ collapse_link=’true’]
  1. WITH SuppliersByCity AS

(

SELECT SupplierID, CompanyName, City, Country

FROM dbo.Suppliers

WHERE city = 'London’

)

SELECT * FROM SuppliersByCity;

 

  1. DECLARE @miasto as nvarchar(20) = 'London’;

WITH SuppliersByCity AS

(

SELECT SupplierID, CompanyName, City, Country

FROM dbo.Suppliers

WHERE city = @miasto

)

SELECT * FROM SuppliersByCity;

 

  1. DECLARE @miasto as nvarchar(20) = 'sa’;

WITH SuppliersByCity AS

(

SELECT SupplierID, CompanyName, City, Country

FROM dbo.Suppliers

WHERE city LIKE '%’+@miasto+’%’

)

SELECT * FROM SuppliersByCity;

[/spoiler]

Alexandretta

Kobieta gracz. Po godzinach pracy, z zapałem i piekielnymi ognikami w oczach biega po lochach i tłucze bogu ducha winne zombie czy inne szkielety. Miłośniczka wszelkiej maści cRPG. Notoryczne problemy z wyborem klasy i rasy, bo wszystko fajne... W chwilach zwątpienia zatraca się przy dźwiękach mieczy, roztrzaskiwanych tarcz i okrzyków bojowych, słuchając wiking metalu z zimnej, niegościnnej, odległej Skandynawii. Czasem zdarzy jej się pograć w jakąś strategię bądź nawet w FPP, ale tylko na easy, żeby nie psuć sobie niepotrzebnie nerwów.

Related Articles

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

Back to top button