мне нужен определенный оператор соединения для моего кода - PullRequest
0 голосов
/ 27 марта 2019

enter image description here

Я застрял при написании этого куска кода.

вывод, который мне нужно получить, -

firstName       lastname        Name                      Price    Date
--------------- --------------- ------------------------- -------- ----------
Bateman         Michael         Furniture DR              222.80   2013-05-01
Tara            Roswell         Clothes Ladies            24.25    2013-05-04
LeMay           Mike            Toys Child                12.00    2013-05-12

Создайте запрос, который покажет, кто забрал непроданные товары в течение мая 2013 года. Включите в свой вывод имя и фамилию владельца, а также название товара, максимальную цену и дату получения.Закажите свою продукцию по дате получения.Мой вывод выглядел следующим образом:

, а мой вывод

FirstName        LastName        Name                     Price    Date
--------------- --------------- ------------------------- ------- ----------

мой код

SELECT P.FirstName
    , P.LastName
    , IT.Name
    , I.MaxPrice AS Price
    , IP.Date 
FROM People P 
JOIN CHARITY C ON P.PeopleID = C.ContactID 
JOIN Donation D ON C.CHARITYID = D.CHARITYID
JOIN Item_Donation ID ON D.DonationID = ID.DonationID
JOIN IteM I ON ID.ItemID = I.ItemID 
JOIN Item_Type IT ON I.ItemTypeID = IT.ItemTypeID
JOIN Item_PickUp IP ON I.ItemID = IP.ItemID 
ORDER BY IP.Date

1 Ответ

0 голосов
/ 27 марта 2019

Я не вижу ничего плохого в вашем запросе, поэтому я подозреваю, что проблема с данными.Вот как я бы это расследовал.Начните с запроса к «корневой» таблице:

SELECT * FROM People p

Если результаты не соответствуют вашим ожиданиям, значит, вы обнаружили проблему в ваших данных.

Если результаты в порядке, тодобавьте первое объединение:

SELECT * 
FROM People P 
JOIN CHARITY C ON P.PeopleID = C.ContactID 

То же самое, если результаты не соответствуют ожидаемым, у вас есть проблема с данными в таблице CHARITY.Сделайте запрос к таблице CHARITY, чтобы выяснить, почему строки из этой таблицы не присоединяются к People:

SELECT * FROM CHARITY

Если результаты соответствуют вашим ожиданиям, добавьте следующее JOIN и продолжите,по одному ПРИСОЕДИНЯЙТЕСЬ за один раз, пока не найдете тот, который не приводит к возвращению строк.Изучите данные в этой таблице, чтобы понять, почему они не присоединяются к вашему запросу до объединения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...