Fórum Query com duas tabelas #28900

09/11/2007

0

Tenho 2 tabelas uma grava o pedido e outra grava os itens apos a geracao da Nota Fiscal, e nas duas tabelas tenho um campo DOCUMENTO(nota Fiscal), que eh gravado o numero da NF apos sua geracao, porem na tabela do pedido soh eh gravado o numero da NF se o pedido for cheio isto eh com todos os itens que foram digitados e na tabela de itens eh gravado o numero da NF independente se o pedido for cheio ou parcial.

Com isso preciso listar num Grid todos os pedidos com suas respectivas NF, fiz essa query, mas ela so me mostra os pedidos que foram geradas NF.

SELECT DISTINCT(C5.C5_NUM)    AS PEDIDO, C5.C5_TIPO    AS TIPO,
                C5.C5_CLIENTE AS CLIENTE,
        TO_DATE(C5.C5_EMISSAO, ´YYYY/MM/DD´)           AS EMISSAO,
                C5.C5_VEND1   AS VEND1,  C5.C5_VEND2   AS VEND2,
                C5.C5_LIBEROK AS OK,     C5.C5_NOTA    AS NOTA_P,
                C5.C5_SERIE   AS SERIE,  D2.D2_DOC     AS NOTA_C,
                D2.D2_SERIE   AS SERIE,  C5.C5_EMISSAO AS DATA
FROM PEDIDO C5 INNER JOIN ITENS D2 ON
(
 D2.D_E_L_E_T_ <> ´*´           AND
 D2.D2_EMISSAO = C5.C5_EMISSAO  AND
 D2.D2_CLIENTE = C5.C5_CLIENTE  AND
 D2.D2_FILIAL  = C5.C5_FILIAL   AND
 D2.D2_PEDIDO  = C5.C5_NUM
)
WHERE
 C5.D_E_L_E_T_ <> ´*´       AND
 C5.C5_EMISSAO = ´20071109´ AND
 C5.C5_FILIAL  = ´01´;



E nessa query mostra todos os pedidos, independente de terem sidos geradas NF, mas se o pedido foi atendido parcialmente e o sistema nao grava a NF na tabela de pedido ele nao mostra o numero da NF por ela ter sido parcial(soh eh gravada na tabela de ITENS).
SELECT DISTINCT(C5_NUM) AS PEDIDO, C5_TIPO AS TIPO, C5_CLIENTE AS CLIENTE,  
      TO_DATE(C5_EMISSAO, ´YYYY/MM/DD´) AS EMISSAO, 
      C5_VEND1 AS VEND1, C5_VEND2 AS VEND2, C5_LIBEROK AS OK, 
      C5_NOTA AS NOTA, C5_SERIE AS SERIE, C5_EMISSAO AS DATA 
      FROM PEDIDO C5 
      WHERE 
       C5_FILIAL   =  ´01´          AND 
       C5_EMISSAO  =  ´20071109´    AND
       D_E_L_E_T_ <> ´*´
      ORDER BY C5_EMISSAO ASC;

Pergunto se tem como resolver isso numa query, sem ter que alterar outras coisas no sistema?


Claudio_f

Claudio_f

Responder

Posts

09/11/2007

Flyskin

Como na tabela de itens você sempre grava o número da nota, acredito que seria melhor realizar o select através desta tabela e realizar o join na tabela de pedidos para pegar os campos que você precisa.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar