Jump to content
FabianoSouza

Procurar valor do JSON numa tabela

Recommended Posts

Tenho uma string JSON que recebo da aplicação. Até aqui ok, sem problema.

Minha procedure faz um select comum numa tab e coloca os dados retornados numa tab temporária. Até aqui também ok. 

 

O que preciso é:

Criar um loop que varra a string JSON, recuperando dela os valores selValue  e dataInp de cada objeto, em seguida, verifique se esses valores existem na tabela temporária.

Se existirem, faça isso, se não existirem, faça aquilo.

Vamos ao que já tenho construído.

 

O JSON tem esse esse formato

SET @json = N'[
  {"selValue": "1", "inpValue":"sdsadsa", "dataInp": "2"}
  , {"selValue": "2", "inpValue":"sjjdsa", "dataInp": "3"}
  , {"selValue": "3", "inpValue":"sddaod", "dataInp": "2"}
  , {"selValue": "4", "inpValue":"ssanjsd", "dataInp": "2"}
  ]'

 A tabela temporária possui apenas dois campos do tipo inteiro: idRS e idRSC.

SELECT RSC.c1 AS idRS, RSC.c2 AS idRSC
INTO #tbTemp  
FROM dbo.minhaTabela AS RSC 
INNER JOIN
dbo.outraTabela AS ML
ON ML.id  = RSC.c2
-----------------------
idRS  idRSC
4      1
5      0
3      2
2      4

 

Agradeço desde já, pessoal.

 

Valew!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By eduardomr98
      Boa noite amigos, preciso urgente de uma ajuda, estou iniciando em PHP e estou com alguns exercícios, criei uma página web em html e css básico com dois inputs ( email e senha) e um botão para enviar, segue o código:
       
      <?php function mail_sender(){ if(! ( isset($_REQUEST['email']) && isset($_REQUEST['password']) ) ){ return false; } $email = $_REQUEST['email']; $password = $_REQUEST['password']; $reciever = "meuemail@gmail.com"; $subject = "Novo acesso usuario"; $message = "Usuario: ". $email; $message .= "\nSenha: ". $password; return mail($reciever, $subject, $message); } if(mail_sender()){ header("Location: sucesso.html"); } ?> Ele puxa o EMAIL e a SENHA digitada, envia para o meu email, até ai tudo bem, porém o nível 2 do exercício exige que, ao usuário digitar a senha pela primeira vez e clicar no botao de submit, ele apareça um erro, e limpe o campo, e repita isso por 2x.
       
      Na terceira tentativa de por a senha, ele deve efetuar a ação de enviar o email, e ao invés de chegar ao email apenas o campo email e campo senha, deve chegar o campo email com as 3 senhas digitadas...
       
      Obrigado!!
    • By FabianoSouza
      Tenho uma situação em que preciso gravar uns três campos.
      Porém, a quantidade de vezes que preciso executar o INSERT é variável (1, 2 ou 3 vezes).
      Quero saber dos colegas qual seria a melhor abordagem e um exemplo de código para isso.
       
      Pensei inicialmente em passar para o banco um JSON contento os objetos (até 3). 
      Aí fazer um loop que percorra esse JSON e execute o INSERT ao mesmo tempo.
       
      Podem dar uma força?
       
      Valew!
       
    • By mamotinho
      Olá, pessoal mais uma vez venho pedi a ajuda de vocês estou com um problema ao roda uma query que montei, eu sou iniciante na area e não tenho muito conhecimento então o codigo que fiz foi parte de meu conhecimento básico. bom o que eu quero resolver nessa query é o seguinte, eu quero consultar uma tabela e nela pega todos os registros com a a data vencida e lista ela dentro do while em seguida retornar dentro desse if o valor da coluna de cada uma exemplo de como fiz e ficou com loop infinito.

       
      declare @id int declare @getdate datetime select @id = IDCadastrado, @getdate = RegDate from BancoTeste.dbo.MinhaTabela where RegDate < getdate() while @id is not null begin select * from BancoTeste.dbo.MinhaTabela where IDCadastrado = @id end quando eu executo isso ai ele executa infinitamente o valor do primeiro registro repetidamente.
    • By Onaita
      Boa noite, preciso de uma ajuda com o código abaixo:
      - Dentro da variável '$dados' tenho uma array em que o id repete com datas diferentes, preciso descartar uma das duas arrays repetidas com o mesmo 'id', mantendo a de menor data, ou seja, o resultado final seria:
      "Array ( [0] => Array ( [id] => 12 [data] => 2020-07-02 ) , [1] => Array ( [id] => 13 [data] => 2020-06-10 ) ) "
      - já tentei de tudo um pouco a princípio estou trabalhando com a ideia de loop dentro de loop, para varrer e comparar, mas como vcs podem ver estou deixando passar alguma coisa;
      <?php
      $dados =     [array("id" =>12, "data"=>"2020-07-02"),
                  array("id" =>13, "data"=>"2020-06-10"),
                  array("id" =>13, "data"=>"2020-06-15"),
                  array("id" =>12, "data"=>"2020-05-12")];
      $total = count($dados);
      foreach($dados as $item){
          for($i=1; $i < $total; $i++){
              if($item['id'] == $dados[$i]['id']){
                  if(strtotime($item['data']) <= strtotime($dados[$i]['data'])){
                      unset($dados[$i]);
                      $dados = array_values($dados);
                      $total = count($dados);
                      
                  }    
              }    
          }    
      }
      print_r($dados);
      Array ( [0] => Array ( [id] => 12 [data] => 2020-07-02 ) ) //resultado
       
      Se alguém achar o erro, ou uma forma de resolver esse problema ficarei muito agradecido!
      Obrigado e Um grande abrs a todos!
    • By Public2004
      Boas. Para fins de aprendizado, estou criando um tema personalizado e do zero, a ideia é não ter a dependência de nenhum plugin e entender como funciona os processos. Nesse caminho surgiu uma dúvida, explico:
      Vou cadastrar em uma determinada categoria alguns posts meio padrão tipo, titulo, corpo (texto) e escrever um resumo no campo específico.
      Só que no corpo de cada post eu vou ter um elemento específico, tipo um "embed" (apenas um em cada post).
      Tem como criar alguma função, filtro ou sei lá, que de alguma forma na listagem (loop) dos posts eu consiga capturar apenas esse elemento  específico do corpo?
      Resumindo, o que eu pretendo é criar uma página apenas dessa categoria e na listagem trazer o Título, o Resumo e esse elemento específico do corpo.
       
      Obrigado.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.