2013-09-18 2 views
0

Я знаю, что это часто задаваемый вопрос, но я попытался решить это сам и не смог.t sql query возвращает повторяющиеся значения

У меня есть 2 таблицы, и теперь они возвращают дублирующее значение из правой таблицы.

select am.Journal 
,am.EntryNumber 
,am.PayInvoice 
,am.PayDiscAllowed 
,am.PayTaxAmtDisc 
,am.PayGrossPayment 
,tm.* 
from CshJnlPay am right join 
(select 
Invoice 
,SUM(NetSalesValue) as NetSalesValue 
,SUM(DiscValue) as DiscValue 
,SUM(TaxValue) as TaxValue 
,SUM(QtyInvoiced) as QtyInvoiced 
from Salesdetail 
group by Invoice) tm 
on am.PayInvoice = tm.Invoice 
where Invoice = 'C90831' 

ответ

0

Если запрос возвращает 2 строки с одинаковыми данными из таблицы справа, то вы должны 2 строки в левой таблице с тем же номером счета-фактуры ... Вы должны проверить левую таблицу с этим запросом

Выберите * из CshJnlPay, где PayInvoice = 'C90831'

Вы должны получить две строки.

+0

Спасибо, как я могу предотвратить это? – Wilest

+0

Вы не можете предотвратить это ... Возможно ли, что в левой таблице есть 2 строки с тем же номером счета? Если да, то вы всегда будете получать одни и те же данные из правой таблицы, если используете соединение. Можете ли вы опубликовать пример из данных и рассказать мне, что вы хотели бы показать? Возможно, есть другой способ, которым вы можете выбрать данные –

Смежные вопросы