ThangamSundar Ответов: 1

Как получить запрос со значениями основной и подробной таблиц


Привет,
У меня есть 4 записи в подробной таблице с billno и item. И есть одна запись в главной таблице с билно.

Деталь имеет netvalue, taxper и taxvalue.
И netpay (net+tax) только в главной таблице

Мне нужен запрос netvalue, taxp,taxval и netpay tax percentage wise

Мой запрос дает несколько значений в netpay

Заранее спасибо.

Что я уже пробовал:

select sum(a.netvalue),sum(a.taxvalue),a.taxp,b.netpay from detailtable a,mastertable b
where a.billno=b.billno group by a.taxp,b.netpay

Richard Deeming

Вам следует избегать использования соединений старого стиля и вместо этого использовать соединения ANSI:

FROM detailtable a INNER JOIN mastertable b ON a.billno = b.billno


Вы группируетесь по обоим taxp и netpay, таким образом, вы получите строку для каждой уникальной комбинации этих двух столбцов. Если у вас их несколько taxp ценностей от одного netpay ценность, то вы получите netpay значение повторяется для каждого отдельного taxp ценность. Именно так и работает группировка.

Нажмите кнопку "улучшить вопрос" и добавьте некоторые примеры входных данных, то, что вы хотите получить в качестве выходных данных, и то, что вы на самом деле получаете с вашим текущим запросом. Если это возможно, создайте простой SQLFiddle[^] чтобы продемонстрировать проблему, и разместите ссылку здесь.

1 Ответов

Рейтинг:
1

RickZeeland

Вам нужно сохранить SUM() часть отделена от других полей.
Вы можете использовать запрос для a. taxp, b. netpay, а затем использовать СОЮЗ для последующего запроса SUM ().