12.11.2003, 07:55 | #1 |
Участник
|
Связывание нескольких таблиц
Каким образом средствами Axapta получить данный запрос:
SELECT A.ITEMGROUPID,A.ITEMID,SUM(B.AVAILPHYSICAL),C.INVENTDIMID,D.PRODDATE,D.INVENTBATCHID FROM INVENTTABLE A inner join INVENTSUM B on (A.ITEMID=B.ITEMID) inner join INVENTDIM C on ((b.inventdimid=c.inventdimid) and (B.AVAILPHYSICAL>0)) LEFT OUTER JOIN INVENTBATCH D ON ((C.INVENTBATCHID=D.INVENTBATCHID) AND (D.ITEMID = b.itemid)) GROUP BY A.ITEMGROUPID,A.ITEMID,B.ITEMID,C.INVENTDIMID,D.PRODDATE,D.INVENTBATCHID ORDER BY A.ITEMGROUPID DESC,A.ITEMID,B.ITEMID,C.INVENTDIMID,D.PRODDATE,D.INVENTBATCHID Все проблема в условии LEFT OUTER JOIN INVENTBATCH D ON ((C.INVENTBATCHID=D.INVENTBATCHID) AND (D.ITEMID = b.itemid)) Axpata строит внутренее объединение через WHERE, а мне необходимо через inner join Запрос необходим для показа в форме существующей номеклатуры с указанием даты производства товара. Задачу конечно можно решить через временный таблицы (скорость будет не очень) или не делать объединение с InventBatch, а показывать нужные поля из этой таблицы другим способом (через метод display) Но важно принципиально - можно построить такой запрос или нет |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|