AJUDEM
Fiz um select, o qual no ib expert funciona, porém no delphi se eu tento adicionar os campos em um clientdataset gera o erro List Index Out Of Bounds (-1), segue abaixo meu Select
SELECT
VI.ID_MAN_ITENS, VI.ID_MANUT, VI.ID_PROD, VI.DESCRICAO,
VI.UNID, VI.QUANTIDADE, VI.UNITARIO, VI.TOTAL, VM.HODOMETRO,
VM.ID_MOTORISTA, VM.ID_FORN,
COALESCE((SELECT (VM.HODOMETRO-VMI.HODOMETRO)/VI.QUANTIDADE
FROM VEIC_MAN_ITENS V
LEFT JOIN VEIC_MANUT VMI ON VMI.ID_MANUT = V.ID_MANUT
WHERE (V.ID_MAN_ITENS<VI.ID_MAN_ITENS)
AND (V.ID_PROD = VI.ID_PROD)
ORDER BY V.ID_MAN_ITENS),0)
AS MEDIA
FROM
VEIC_MAN_ITENS VI
LEFT JOIN VEIC_MANUT VM ON VM.ID_MANUT = VI.ID_MANUT
WHERE (NOT VI.ID_MAN_ITENS IS NULL)
SELECT
VI.ID_MAN_ITENS, VI.ID_MANUT, VI.ID_PROD, VI.DESCRICAO,
VI.UNID, VI.QUANTIDADE, VI.UNITARIO, VI.TOTAL, VM.HODOMETRO,
VM.ID_MOTORISTA, VM.ID_FORN,
COALESCE((SELECT (VM.HODOMETRO-VMI.HODOMETRO)/VI.QUANTIDADE
FROM VEIC_MAN_ITENS V
LEFT JOIN VEIC_MANUT VMI ON VMI.ID_MANUT = V.ID_MANUT
WHERE (V.ID_MAN_ITENS<VI.ID_MAN_ITENS)
AND (V.ID_PROD = VI.ID_PROD)
ORDER BY V.ID_MAN_ITENS),0)
AS MEDIA
FROM
VEIC_MAN_ITENS VI
LEFT JOIN VEIC_MANUT VM ON VM.ID_MANUT = VI.ID_MANUT
WHERE (NOT VI.ID_MAN_ITENS IS NULL)
Supernaum
Curtidas 0
Respostas
Supernaum
15/10/2013
resolvi ficou assim
SELECT
VI.ID_MAN_ITENS, VI.ID_MANUT, VI.ID_PROD, VI.DESCRICAO,
VI.UNID, VI.QUANTIDADE, VI.UNITARIO, VI.TOTAL, VM.HODOMETRO,
VM.ID_MOTORISTA, VM.ID_FORN, VM.ID_VEIC,
(
(VM.HODOMETRO -
(COALESCE(
( SELECT FIRST 1 VMI.HODOMETRO
FROM VEIC_MAN_ITENS V
LEFT JOIN VEIC_MANUT VMI ON VMI.ID_MANUT = V.ID_MANUT
WHERE (V.ID_PROD = VI.ID_PROD)
AND (V.ID_MAN_ITENS<VI.ID_MAN_ITENS)
ORDER BY V.ID_MAN_ITENS DESC
),
( SELECT VEI.HODOMETRO
FROM VEICULOS VEI
WHERE (VEI.ID_VEIC=VM.ID_VEIC)
)
)
)
)/VI.QUANTIDADE
) AS MEDIA
FROM
VEIC_MAN_ITENS VI
LEFT JOIN VEIC_MANUT VM ON VM.ID_MANUT = VI.ID_MANUT
WHERE (NOT VI.ID_MAN_ITENS IS NULL)
SELECT
VI.ID_MAN_ITENS, VI.ID_MANUT, VI.ID_PROD, VI.DESCRICAO,
VI.UNID, VI.QUANTIDADE, VI.UNITARIO, VI.TOTAL, VM.HODOMETRO,
VM.ID_MOTORISTA, VM.ID_FORN, VM.ID_VEIC,
(
(VM.HODOMETRO -
(COALESCE(
( SELECT FIRST 1 VMI.HODOMETRO
FROM VEIC_MAN_ITENS V
LEFT JOIN VEIC_MANUT VMI ON VMI.ID_MANUT = V.ID_MANUT
WHERE (V.ID_PROD = VI.ID_PROD)
AND (V.ID_MAN_ITENS<VI.ID_MAN_ITENS)
ORDER BY V.ID_MAN_ITENS DESC
),
( SELECT VEI.HODOMETRO
FROM VEICULOS VEI
WHERE (VEI.ID_VEIC=VM.ID_VEIC)
)
)
)
)/VI.QUANTIDADE
) AS MEDIA
FROM
VEIC_MAN_ITENS VI
LEFT JOIN VEIC_MANUT VM ON VM.ID_MANUT = VI.ID_MANUT
WHERE (NOT VI.ID_MAN_ITENS IS NULL)
GOSTEI 0
Deivison Melo
15/10/2013
Finalizando!
GOSTEI 0