29.03.2006, 23:08 | #1 |
Участник
|
Не могу полчить данные из таблицы
Есть формируется query в отчете
Через qRun = new QueryRun(query); qBS = this.queryRun().query().dataSourceNo(1); получаю запрос... вроде все нормально но одно но...!!! while (qRun.next()) { _InventSum = qRun.get(tableNum(InventSum)); _InventDim = qRun.get(tableNum(InventDim)); _InventSum.ItemId - здесь есть значение _InventDim.InventDimId пустое ???? } выполняется цикл в котором пытаюсь получить таблицы и значения их полей а они пустые... не могу понять где что не так делаю... есть данные только в одной таблице это InventSum и то только в одном поле сам запрос получается такой SELECT * FROM InventDim JOIN SUM(PostedQty), SUM(PostedValue), SUM(PhysicalValue), SUM(Deducted), SUM(Registered), SUM(Received), SUM(Picked), SUM(ReservPhysical), SUM(ReservOrdered), SUM(OnOrder), SUM(Ordered), SUM(Arrived), SUM(QuotationReceipt), SUM(QuotationIssue), SUM(PhysicalInvent), SUM(PostedValueSecCur_RU), SUM(PhysicalValueSecCur_RU), SUM(AvailPhysical), SUM(AvailOrdered) FROM InventSum GROUP BY InventSum.ItemId ASC WHERE InventDim.inventDimId = InventSum.InventDimId AND ((ItemId = 000000005)) EXISTS JOIN * FROM InventTable WHERE InventSum.ItemId = InventTable.ItemId AND ((NOT (ItemType = Услуга))) JOIN * FROM InventSerial WHERE InventTable.ItemId = InventSerial.ItemId |
|
29.03.2006, 23:48 | #2 |
Участник
|
Скорее всего, это происходит потому, что у Вас в запросе в группировке указано только одно поле - GROUP BY ItemId. Данные еще должны быть в полях PostedQty, PostedValue и т.д., т.е. тех полях, которые указаны в агрегатных функциях. Если в группировку добавить нужные поля, то данные, с большой вероятностью, появятся и будет Вам счастье.
__________________
С уважением, Rumpleteazer. |
|
04.04.2006, 16:05 | #3 |
Участник
|
Попробуйте добавить в запрос группировку по InventDimId
Если не поможет, попробуйте по частям отключать части запроса - сначала inventSerial, потом InventTable с ее existJoin. и смотрите, работает ли - тогда поймете, где искать багу |
|
|
|