Это звучит запутанно, но идея довольно проста.Как я могу выбрать из одной таблицы, где идентификатор существует в одной из двух таблиц, но не в любой из двух других таблиц.
Я хочу получить список продуктов, которые имеют ставки по умолчанию, но у данного «Агента» нет ставок. Чтобы сделать это, нужно выбрать из приведенных ниже таблиц
t_Products
|-ProductID-|--Product-|
| 100 | Product1 |
| 101 | Product2 |
| 102 | product3 |
| 103 | product4 |
Если идентификатор существует в любом t_Annual_DefaultCost или t_Daily_DefaultCost
t_Annual_DefaultCost
|-DefaultID-|-ProductID-|--Cost-|
| 100 | 100 | 24.00 |
| 101 | 101 | 26.00 |
t_Daily_DefaultCost
|-DefaultID-|-ProductID-|--Cost-|-Days-|
| 100 | 100 | 24.00 | 1 |
| 101 | 100 | 26.00 | 2 |
| 102 | 102 | 22.50 | 2 |
| 103 | 102 | 97.50 | 8 |
Но оно не может существовать в любом t_Annual_AgentCost или t_Daily_AgentCost для данного агента ID
t_Annual_AgentCost
|---CostID--|-ProductID-|-AgentID-|--Cost-|
| 100 | 100 | 10001 | 24.00 |
| 101 | 100 | 10001 | 20.00 |
t_Daily_AgentCost
|---CostID--|-ProductID-|-AgentID-|--Cost-|-Days-|
| 100 | 100 | 10001 | 24.00 | 1 |
| 102 | 102 | 10002 | 35.00 | 2 |
так для AgentID 10001 конечный результат должен быть
|-ProductID-|--Product-|
| 101 | product2 |
| 102 | product3 |
и AgentID 10002 конечный результат должен быть
|-ProductID-|--Product-|
| 100 | product1 |
| 101 | product2 |
настоящее время я использую следующий код, чтобы получить список продуктов, которые имеют ставки по умолчанию. Но я не могу решить, как удалить/не получить их также в таблицах AgentCost.
Select
distinct a.*
from
t_Products as a
inner join
(
select
DefaultID ,ProductID
from
t_Daily_DefalutCost
union
select
DefaultID , ProductID
from
t_Annual_DefaultCost
)
as b on a.ProductID = b.ProductID
Когда вы укажете ID, укажите, какой идентификатор. И в выражении In: «Но он не может существовать ни в t_Annual_AgentCost, ни в t_Daily_AgentCost для данного идентификатора агента», вы хотите сказать «Но он не может существовать в NEITHER t_Annual_AgentCost NOR t_Daily_AgentCost для данного идентификатора агента»? –
Зачем нужно ProductID 103 для AgentID 10002, но не для AgentID 10001? – GilM
@ galuano1 Где я не сказал, какой ID? и да, я имею в виду последний. Сейчас я отредактирую его. –