у меня 3 стола
1) tblPurchaser, имеющий 2 столбца:
PurchaserId PurchaserName
1 A1
2 A2
3 A3
2) tblCar с двумя столбцами:
CarId Carname
11 C1
12 C2
13 C3
14 C4
И, наконец, это соединительная таблица tblInformation, где указывается информация о тех лицах, которые приобрели автомобили.
PurchaserId CarId
1 11
1 12
2 11
2 13
Теперь мне нужно написать запрос на основе набора, где я смогу получить информацию о тех автомобилях, которые не были куплены лицами
Желаемый выход
PurchaserId CarId
1 13
1 14
2 12
2 14
3 11
3 12
3 13
3 14
Примечание. Это проблема реального времени, которую я реализую в своем проекте. Из-за конфиденциальности компании, я изменил таблицы и информацию. Но моя ситуация похожа
Пожалуйста, помогите мне
Отредактировано
Пока я написал этот запрос:
SELECT 1 as purchaserid,carid from tblcar
where carid not in (select carid from tblinformation where purchaserid = 1)
union all
SELECT 2 as purchaserid,carid from tblcar
where carid not in (select carid from tblinformation where purchaserid = 2)
union all
SELECT 3 as purchaserid,carid from tblcar
where carid not in (select carid from tblinformation where purchaserid = 3)
Но, как вы можете понять, я жестко запрограммировал идентификатор покупки. А также в режиме реального времени я не буду знать, сколько там будет идентификаторов. Так что все должно быть сделано во время выполнения.
Пожалуйста, помогите enter code here