Как решить эту ошибку подзапроса? - PullRequest
0 голосов
/ 03 мая 2011

Подскажите, пожалуйста, что с этим не так?Выдает ошибку

Подзапрос вернул более 1 значения.Это недопустимо, если подзапрос следует =,! =, <, <=,>,> = Или когда подзапрос используется в качестве выражения.

И что означает использование ({?SUB_ALLOC_PARM})) Iугадайте его значение параметра правильно?

select  distinct LFS_LFS as DN
        , LFS_VONNR
        , LZL_REFNR
        , AGR_TEXT
        , LFS_KNR as Store
        , LFS_DATOK
        , FIL_INDEX as Store_name
        , LAN_TEXT as COUNTRY
        , LZL_MENGE as Qty
        , ANS_NAME1 AS 'Customer Name'
        , ANS_NAME2 AS 'Customer Address line 1'
        , ANS_STRASSE AS 'Customer Address line 2'
        , ANS_STRASSE_2 AS 'Customer Address line 3'
        , ANS_ORT AS 'City'
        , ANS_TITEL AS 'State'
        , LAN_TEXT AS 'Country'
        , ANS_PLZ AS 'PostCode'
        , ( select  FIL_NUMMER 
            from    FUTURA..V_FILIALEN as HO
            where   HO.FIL_LAND = STORE.FIL_LAND
                    and HO.FIL_MANDANT = 1
                    and HO.FIL_ART = 0
          ) as HO_BRANCH
from    FUTURA..V_LIEFHEAD,
        FUTURA..V_ARTIKEL,
        FUTURA..V_ART_KOPF,
        FUTURA..V_LIEFZEIL,
        FUTURA..V_LAGER as BR5,
        FUTURA..V_FILIALEN as STORE,
        FUTURA..V_ANSCHRIF,
        FUTURA..V_LAND
where   AGR_MANDANT = ART_MANDANT
        and AGR_WARENGR = ART_WARENGR
        and AGR_ABTEILUNG = ART_ABTEILUNG
        and AGR_TYPE = ART_TYPE
        and AGR_GRPNUMMER = ART_GRPNUMMER
        and LZL_REFNR = ART_REFNUMMER
        and ART_MANDANT = LFS_MANDANT
        and LFS_LFS = LZL_LFS and LFS_MANDANT = LZL_MANDANT
        and LFS_MANDANT = 1
        and LZL_REFNR <> 0
        and LZL_REFNR = BR5.LAG_REFNUMMER
        and LZL_MANDANT = BR5.LAG_MANDANT
        and BR5.LAG_MANDANT = 1
        and BR5.LAG_FILIALE = LFS_VONNR
        and FIL_MANDANT = LZL_MANDANT
        and FIL_NUMMER = LFS_KNR
        and LAN_MANDANT = FIL_MANDANT
        and LAN_NUMMER = FIL_LAND
        AND ANS_TYP = 2 -- branches
        AND ANS_COUNT = 1 -- sequence 1
        AND ANS_MANDANT = FIL_MANDANT
        AND ANS_NUMMER = FIL_NUMMER
        and LFS_LFS IN (
          select  distinct PVG_LIEFERSCHEIN 
          from    FUTURA..V_PVERFIL 
          where   PVG_NUMMER IN ({?SUB_ALLOC_PARM})
       )
order by 
        LFS_KNR

1 Ответ

2 голосов
/ 03 мая 2011

Скорее всего, ваше предложение

            select  FIL_NUMMER 
            from    FUTURA..V_FILIALEN as HO
            where   HO.FIL_LAND = STORE.FIL_LAND
                    and HO.FIL_MANDANT = 1
                    and HO.FIL_ART = 0

возвращает более одного значения.

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