Zadanie (pytanie) polegało na ułożeniu zapytania z dostępnego do wyboru kodu. Zapytanie miało zwracać zwierzątka właścicieli, którzy mieszkają w Seatlle i mają powyżej 50-tki (dokładny opis na obrazku poniżej).
Niestety z dostępnego kodu nie dało się napisać zapytania. Zaciekawiło mnie więc jaka jest odpowiedź. Napisałem więc błędny kod i poprosiłem o sprawdzenie i wyświetlenie odpowiedzi. Oto co otrzymałem :
Jak można zauważyć poprawna odpowiedź jest błędna. W podzapytaniu nie ma kolumny OWNERNAME, po której następuje JOIN.
Poniżej dowód :
USE TEMPDB;
DECLARE @PETS AS TABLE
(
PETNAME VARCHAR(20),
OWNERNAME VARCHAR(20)
);
DECLARE @OWNERS AS TABLE
(
OWNERNAME VARCHAR(20),
AGE TINYINT,
LOCATION VARCHAR(20)
);
INSERT INTO @PETS (PETNAME, OWNERNAME)
VALUES ('REX', 'BOB')
, ('PIMPEK', 'ALA')
, ('ŚLINIAK', 'OLA');
INSERT INTO @OWNERS (OWNERNAME, AGE, LOCATION)
VALUES ('BOB', 55, 'SEATTLE')
, ('ALA', 10, 'WARSZAWA')
, ('OLA', 12, 'SZCZECIN');
SELECT PET.PETNAME
FROM @PETS AS PET
JOIN
(SELECT AGE FROM @OWNERS WHERE LOCATION = 'SEATTLE') AS OWN
ON PET.OWNERNAME = OWN.OWNERNAME
WHERE OWN.AGE > 50Jak można się domyślić zapytanie zwraca błąd :
Prawidłowe zapytanie powinno wyglądać tak :
SELECT PET.PETNAME FROM @PETS AS PET JOIN (SELECT OWNERNAME, AGE FROM @OWNERS WHERE LOCATION = 'SEATTLE') AS OWN ON PET.OWNERNAME = OWN.OWNERNAME WHERE OWN.AGE > 50
Ciekawy jestem czy Wy też trafiliście na przypadki błędnych odpowiedzi do testów dołączonych to książek przygotowujących do egzaminu.

To się w książkach Microsoft Press zdarza. Nie potrafię w tej chwili podać konkretnego przykładu, ale pamiętam, że kiedyś też trafiłem na coś, co wyglądało na ewidentny błąd. Szukając w Internecie potwierdzenia, trafiłem na stronę z erratami do książek tego wydawnictwa.
OdpowiedzUsuńErrata do 'MCTS Self-Paced Training Kit (Exam 70-433): Microsoft SQL Server 2008 - Database Development'
Dzięki Mareku. Jak widać na stronce, do której linka podałeś, błędów było więcej. Muszę zacząć uważniej czytać te książki ;)
OdpowiedzUsuńZdarza się i to bardzo często. W książce i pytaniach do 70-536 było kilkaset błędów - errata na stronach MS miała ok 300-400 pozycji, a i tak sporo było pominiętych.
OdpowiedzUsuńWitać, że zjawisko jest powszechne i niestety niepokojące.
OdpowiedzUsuń