Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Помогите с запросом!  [new]
glamis
Member

Откуда:
Сообщений: 642
Требуется за 1 запрос получить информацию о наличии номенклатуры в 2х таблицах.
Что-то типа:

Select sum(kol1) kol1, sum(kol2) kol2 from
      (select count(*)  kol1, 0 kol2  from Table1 where kod='12345'
      union
      Select  0 kol1, count(*) kol2 from Table2 where kod = '12345')


Проблема в том, что подзапрос не может содержать Union.
13 окт 21, 16:27    [22383220]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом!  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7919
Не проверял. Но, вроде бы, должно так работать. Количество подзапросов во FROM не ограничено.

select ;
         tbl1.cnt as kol1, ;
         tbl2.cnt as kol2 ;
from (select count(*) as cnt from Table1 where Table1.kod = '12345') as tbl1, ;
         (select count(*) as cnt from Table2 where Table2.kod = '12345') as tbl2


Если через запятую не пройдет, то можно добавить поле kod в подзапросе и сделать JOIN связав два подзапроса по этому полю

select ;
         tbl1.cnt as kol1, ;
         tbl2.cnt as kol2 ;
from (select count(*) as cnt, '12345' as kod from Table1 where Table1.kod = '12345') as tbl1 ;
inner join (select count(*) as cnt, '12345' as kod from Table2 where Table2.kod = '12345') as tbl2 ;
         on tbl1.kod = tbl2.kod
13 окт 21, 16:58    [22383239]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом!  [new]
glamis
Member

Откуда:
Сообщений: 642
ВладимирМ,


Спасибо, оба отработали правильно

Тема закрыта
13 окт 21, 17:23    [22383251]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить