Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Firebird, Interbase > проблема выборки данных из 2 связанных таблиц


Автор: bidzina159 7.9.2014, 19:21
Здравствуйте! 
`В базе имеется  таблицы:incomes,sales,Products. Задача следуюшая- в query вывести:
 1. sum(incomes)
 2. sum(sales) 
 3. количество товаров сейчас: a-b

таблица 'incomes' имеет столбцы:Incomeid,ProductId,quant(количество прыходов)...     
таблица 'sales'  имеет столбцы:    SalesId, IncomeId, ProductId, quant(количество продаж товара) ...

пишу SQL: 

Код

   select i.productId, sum(i.quant) as iq, sum(s.quant) as sq    
    from income i,sales s
    where (i.incomeId=s.incomeId)  
    group by i.productId


или

Код

 select i.productId, sum(i.quant) as iq, sum(s.quant) as sq 
    from income  
    left outer join  s on  (i.IncomeId=s.IncomeId)  
    group by i.productId


но вместо того чтобы вывести:

 productIdId   sum(income)   sum(sales)    now

       1          200           50         150    
       2          150           20         130    
       3          120           100        20      

выводит неправильную сумму количеств прыходов-sum(income):  
 productIdId    sum(income)   sum(sales)    now       

       1          20000        50         19950     
       2          27500        20         27480   
       3          125000      100         12400   

database server- Interbase 2009, способ доступа- IBX

спасибо заранее!


Модератор: 
пользуйтесь кнопкой КОД

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)