none
Subconsulta no SQL Server Mobile Edition RRS feed

  • Pergunta

  • Olá Pessoal, estou desenvolvendo uma aplicação em Visual Studio 2005 para Pocket PC utilizando Sql Server Mobile Edition, e tive a necessidade de criar uma subconsulta ou um left join mas não funciona, alguém sabe me dizer se realmente essa versão não suporta esse tipo sql, ou se existe alguma outra forma de fazer isso? Aguardo um retorno.

    Grata desde já,

    Ercília


    Ercília
    terça-feira, 23 de novembro de 2010 19:15

Todas as Respostas

  • Ercília,

    Qual é a versão deste SQL Server que você esta utilizando?

    Você destacou SQL Server Mobile Edition, por acaso não seria o SQL Server Compact Edition?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    quinta-feira, 25 de novembro de 2010 11:41
    Moderador
  • Eu utilizo a versão padrão que no Visual Studio 2005 para mobile, que acredito ser o SQL Server Compact Edition, a extensão do arquivo do banco é ".sdf". Já baixei algumas atualizações desse banco, mas o problema ainda persiste. Alguém tem alguma ideia do q seja?
    Ercília
    segunda-feira, 6 de dezembro de 2010 11:56
  • Ercília,

    É a versão SQL Server Compact Edition, que você esta utilizando!!!

    Qual seria a mensagem de erro que você esta recebendo? Poderia postar sua código utilizado neste subquery.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    terça-feira, 7 de dezembro de 2010 18:20
    Moderador
  • Eu criei um datasource e utilizei o query builder para montar o select. O select correto seria:

    SELECT        PRODUTO.CD_REFPRO, PRODUTO.DS_PRODUTO, PRODUTO.VL_PCOVEN, PRODUTO.PR_DESCONTO, PRODUTO.DS_GRUPO, PRODUTO.SALDO,
                             PRODUTO.IN_FATOR
    FROM            PRODUTO LEFT OUTER JOIN
                             HISTORICO ON PRODUTO.CD_REFPRO = HISTORICO.CD_REFPRO

    mas qd coloco o left já aparece erro na sintaxe do sql, colocando um "{oj" depois left:

    SELECT        PRODUTO.CD_REFPRO, PRODUTO.DS_PRODUTO, PRODUTO.VL_PCOVEN, PRODUTO.PR_DESCONTO, PRODUTO.DS_GRUPO, PRODUTO.SALDO,
                             PRODUTO.IN_FATOR
    FROM            { oj PRODUTO LEFT OUTER JOIN
                             HISTORICO ON PRODUTO.CD_REFPRO = HISTORICO.CD_REFPRO }

    e qd mando executar dá a seguinte mensagem de erro:

    Error Message: There was an error parsing the query. [Token line number = 1, Token line offset = 142, Token in error = { oj]

    Alguém tem alguma ideia do q seja isso?


    Ercília
    sexta-feira, 10 de dezembro de 2010 13:26
  • Ercília,

    Aparentemente este código este certo, talvez o SQL Server Compact Edition não esteja reconhecendo a declaração do Left Outer Join, poderíamos tentar substituir por Left Join.

    Tente assim:

    SELECT        PRODUTO.CD_REFPRO, PRODUTO.DS_PRODUTO, 
                       PRODUTO.VL_PCOVEN, PRODUTO.PR_DESCONTO, 
                       PRODUTO.DS_GRUPO, PRODUTO.SALDO, PRODUTO.IN_FATOR
    FROM           PRODUTO LEFT JOIN HISTORICO 
                       ON PRODUTO.CD_REFPRO = HISTORICO.CD_REFPRO

     


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    sábado, 11 de dezembro de 2010 21:12
    Moderador
  • Já tentei somente o left join e acontece o mesmo problema. Alguém tem alguma idéia do que seja?
    Ercília
    quarta-feira, 5 de janeiro de 2011 19:50
  • Ercília,

    Você já consultou a documentação do SQL CE?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    domingo, 9 de janeiro de 2011 00:33
    Moderador
  • Sim, já consultei, e pesquisei em vários sites na web, e pelo que vi todos utilizam "left join" sem problemas, mas não consigo fazer. Já baixei a versão mais atualizada do CE e nada.
    Ercília
    segunda-feira, 24 de janeiro de 2011 18:26
  • Ercília,

    Não acredito que seja um problema do SQL Server CE, eu também consultei diversas fontes inclusive o Books On-Line, esta query que você tentando executar seria em alguma aplicação?

    Se for, qual é o componente de banco de dados que você esta utilizando?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    quarta-feira, 26 de janeiro de 2011 16:50
    Moderador