2013-09-18 3 views
0

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

select 
    do.orderid, do.orderno, ot.masteritemid, ot.qty 
from dealorder do 
inner join ordertran ot on do.orderid=ot.orderid and ot.orderid='A00M5BGA' 
where ot.vendorid<>'' 

Select orderno, orderid from invoiceitemview where invoiceno='T646692' 

Я пробовал внутреннее соединение, но он, похоже, не работает. Первый запрос дает мне 6 элементов, которые являются правильными, однако, если я выполняю объединение, похоже, получаю элементы, которые не принадлежат к ордеру. Следовательно, как мне создать вложенный запрос, чтобы получить все элементы из второго запроса, а затем фильтровать с использованием первого запроса.

+0

Немного разъяснения здесь, потому что ваша формулировка здесь немного запутанна. Вы хотите, чтобы все было отфильтровано по счету или по идентификатору заказа? – orgtigger

+0

Предоставление выборочных данных с требуемым выходом может быть очень полезным. – UnhandledExcepSean

ответ

0

Это звучит как то, что вы ищете

select 
    do.orderid, do.orderno, ot.masteritemid, ot.qty 
from dealorder do 
inner join ordertran ot on do.orderid=ot.orderid and ot.orderid='A00M5BGA' 
inner join (
    Select orderno, orderid from invoiceitemview where invoiceno='T646692' 
) tmp ON tmp.orderno=do.orderno AND tmp.orderid=do.orderid 
where ot.vendorid<>'' 
0

Попробуйте это.

select do.orderid, do.orderno, ot.masteritemid, ot.qty 
from (Select orderno, orderid from invoiceitemview where invoiceno='T646692') inv 
inner join dealorder do inv.orderid=do.orderid 
inner join ordertran ot on do.orderid=ot.orderid and ot.orderid='A00M5BGA' 
where ot.vendorid<>'' 
Смежные вопросы