Вложенный запрос с логикой и суммированием результатов - PullRequest
0 голосов
/ 24 сентября 2019

Наша бухгалтерия хочет добавить собранный налог или процент за товар в сводный отчет о продажах товара в меню.У меня есть некоторый опыт работы с SQL, но прошло много времени с тех пор, как я использовал его на регулярной основе и мог бы использовать некоторую помощь для составления этого запроса.Ниже приведены запросы, которые я собрал, чтобы определить, с какими таблицами и полями мне нужно работать.Это таблица пунктов меню.Obj_num является первичным ключом.Значение должно быть переменной, чтобы оно могло запускаться для каждого элемента.Таблица пунктов меню, var будет предоставлена ​​процессом отчета.

select * from micros.mi_def where obj_num='9230188'

Мне нужен номер класса пункта меню, чтобы проверить таблицы налогов, для которых применяются, чтобы я мог передать его следующему запросу.mi_type_seq - номер класса пункта меню.Класс контролирует налоги, взимаемые за этот предмет.Элемент выше имеет класс меню 116, но это должно работать для любого класса, который указан выше.

select * from micros.mi_type_class_def where mi_type_seq='116' 

tax_class - это налоговая классификация пунктов меню.Это определяет, какие налоги применяются к этому классу пунктов меню.Ниже я передаю «3», потому что это налоговый классификационный номер для этого элемента.

select * from micros.tax_class_def where tax_class_seq='3' 

Результат:

tax_class_seq,obj_num,name,ob_tax_1_active,ob_tax_2_active,ob_tax_3_active,ob_tax_4_active,ob_tax_5_active,ob_tax_6_active,ob_tax_7_active,ob_tax_8_active,ob_rsvd01,ob_rsvd02,ob_rsvd03,ob_rsvd04,ob_rsvd05,ob_rsvd06,ob_rsvd07,ob_rsvd08,last_updated_by,last_updated_date
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
3,102,'Wine/Liqu Tax = State+Liq',**'T','T'**,'F','F','F','F','F','F','F','F','F','F','F','F','F','F',462,1997-06-16 16:06:18.437

Здесь мне действительно нужен массив для сбора значенийпоэтому я могу запросить проценты в таблице ставок. Это также может сработать, если у меня будет переменная для удержания временной налоговой ставки и получения ставки для каждой из них, помеченной как истинная. Выше выделено жирным шрифтом «T» - налоги, которые необходимоЭти налоги определены в таблице tax_rate_def. Я хочу только суммировать значения, помеченные как true выше.

select * from micros.tax_rate_def 

Таблица с налоговыми ставками.

Наконец, суммируйте возвращенные значенияВерно. В этом случае обе суммы в процентах полей из записей, которые имеют seq 1 и 2, должны быть подсчитаны. Сумма процентов, помеченных как истинные, - это то, что я пытаюсь вывести в отчет. Выберите сумму (процент) из micros.tax_rate_def, где tax_rate_seq между 1 и 2

Мы используем Sybase DB, поставляемую с Micros 5.7 build 5341. Любая помощь приветствуетсяредакторБлагодарю.Andy

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...