Limitar a um registro de determinada tabela

Forum sobre SQL.

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Limitar a um registro de determinada tabela

Mensagem por JoséQuintas »

Tem algum jeito prático disto:

Código: Selecionar todos

    WITH OBJECT cnSQL
      :cSql := "SELECT IDPEDIDO, PDVALNOT, PDDATEMI, PDCADASTRO, PDVENDEDOR, JPFINAN.IDFINAN," + ;
         " JPFINAN.FINUMDOC, JPFINAN.FIPARCELA, JPFINAN.FIPEDIDO, JPFINAN.FIDATEMI," + ;
         " JPFINAN.FIDATVEN, JPFINAN.FIVALOR, JPFINAN.FIDATPAG, JPFINAN.FIDATCAN, JPFINAN.FIOBS," + ;
         " JPFINAN.FICADASTRO, JPCADASTRO.CDNOME, JPNOTFIS.IDNOTFIS, JPITPED.IPCFOP" + ;
         " FROM JPPEDIDO" + ;
         " LEFT JOIN JPFINAN ON JPFINAN.FIPEDIDO = JPPEDIDO.IDPEDIDO" + ;
         " LEFT JOIN JPCADASTRO ON JPCADASTRO.IDCADASTRO = JPFINAN.FICADASTRO" + ;
         " LEFT JOIN JPNOTFIS ON JPNOTFIS.NFPEDIDO = JPPEDIDO.IDPEDIDO" + ;
         " LEFT JOIN JPITPED ON JPITPED.IPPEDIDO = JPPEDIDO.IDPEDIDO" + ;
         " WHERE IDPEDIDO = " + NumberSQL( mIdPedido ) + ;
         " ORDER BY IDFINAN"
      :Execute()
Estou puxando o financeiro de um pedido, mas preciso do CFOP de um dos produtos. (JPITPED)
Precisaria limitar a 1 produto, ao mesmo tempo que não posso limitar no financeiro.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Limitar a um registro de determinada tabela

Mensagem por JoséQuintas »

Resolvido.
Tabela temporária ITEMPED com um único registro.

Código: Selecionar todos

   WITH OBJECT cnSQL
      :cSql := "SELECT IDPEDIDO, PDVALNOT, PDDATEMI, PDCADASTRO, PDVENDEDOR, JPFINAN.IDFINAN," + ;
         " JPFINAN.FINUMDOC, JPFINAN.FIPARCELA, JPFINAN.FIPEDIDO, JPFINAN.FIDATEMI," + ;
         " JPFINAN.FIDATVEN, JPFINAN.FIVALOR, JPFINAN.FIDATPAG, JPFINAN.FIDATCAN, JPFINAN.FIOBS," + ;
         " JPFINAN.FICADASTRO, JPCADASTRO.CDNOME, JPNOTFIS.IDNOTFIS, ITEMPED.IPCFOP" + ;
         " FROM JPPEDIDO" + ;
         " LEFT JOIN JPFINAN ON JPFINAN.FIPEDIDO = JPPEDIDO.IDPEDIDO" + ;
         " LEFT JOIN JPCADASTRO ON JPCADASTRO.IDCADASTRO = JPFINAN.FICADASTRO" + ;
         " LEFT JOIN JPNOTFIS ON JPNOTFIS.NFPEDIDO = JPPEDIDO.IDPEDIDO" + ;
         " LEFT JOIN ( " + ;
            " SELECT IDITPED, IPPEDIDO, IPCFOP FROM JPITPED " + ;
            " WHERE IPPEDIDO = " + NumberSQL( mIdPedido ) + " LIMIT 1 ) AS ITEMPED" + ;
            " ON ITEMPED.IPPEDIDO = JPPEDIDO.IDPEDIDO" + ;
         " WHERE IDPEDIDO = " + NumberSQL( mIdPedido ) + ;
         " ORDER BY IDFINAN"
      :Execute()
esta parte:

Código: Selecionar todos

         " LEFT JOIN ( " + ;
            " SELECT IDITPED, IPPEDIDO, IPCFOP FROM JPITPED " + ;
            " WHERE IPPEDIDO = " + NumberSQL( mIdPedido ) + " LIMIT 1 ) AS ITEMPED" + ;
            " ON ITEMPED.IPPEDIDO = JPPEDIDO.IDPEDIDO" + ;
e com certeza, esta no SELECT:

Código: Selecionar todos

ITEMPED.IPCFOP
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Limitar a um registro de determinada tabela

Mensagem por JoséQuintas »

Com certeza, depois da migração vou fazer uma boa remodelagem nos arquivos/tabelas.
Só não sei ainda qual... kkkkk

Nesse caso, um indicativo do CFOP principal no pedido seria suficiente pra não pesquisar nos produtos.
Pensar nisso depois....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder