Ir para conteúdo
Fórum Script Brasil
  • 0

Subconsulta No Mysql - Duvida Simples


Guest --Anderson --

Pergunta

Guest --Anderson --

subconsulta no MYSQL - duvida simples

Pessoal, estou precisando realizar uma subconsulta (ou consulta dupla..sei la) bem simples e não estou conseguindo fazer....talvez algum de voces possam me ajudar...

é o seguinte:

1) preciso executar o seguinte comando:

SELECT * FROM registros WHERE empresa>=$nome_da_empresa ORDER BY empresa;

2)depois, preciso pegar esse resultado e realizar uma outra consulta, para exibir apenas os registros onde o codigo seja maior que N.

algo do tipo "SELECT * FROM blablablabla WHERE codigo >=N

A idéia é fácil... acredito que alguém com algum conhecimento de MYSQL possa resolver essa questao rapidinho...

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

supondo que registros tenha um campo chamado ID e que esse campo seja Primary Key pode-se fazer assim:

SELECT *FROM registros WHERE codigo >=N AND empresa>=$nome_da_empresa ORDER BY empresa;
ou com subconsulta como voce sugeriu.
SELECT *FROM registros WHERE codigo >=N AND id IN ( SELECT id FROM clientes WHERE empresa >= $nome_da_empresa );

Link para o comentário
Compartilhar em outros sites

  • 0

a) Se a tabela tem poucos registros, você poderia ter feito:

select codigo, nome, filiacao
from `acme`.`registros`
where empresa>="WARNER BROS"
  and codigo>=10
order by empresa
B) Se quer mesmo usar subqueries, comece assim: faça uma query simples:
select codigo, nome, filiacao
from `acme`.`registros`
where empresa>="WARNER BROS"
*¹ importante: não classifique esta query, ou seja, não use o order by ainda, porque, já que será uma subquery, a classificação só irá atrasar o processamento... então, neste ponto, o que interessa, a princípio, é apenas filtrar os dados; *² evite selecionar todas as colunas desnecessariamente; c) Faça outra query; essa, sim, irá usar o resultado da primeira; ainda não classifique:
select *
from
  (
   select codigo, nome, filiacao
   from `acme`.`registros`
   where empresa>="WARNER BROS"
  ) as subquery1
where codigo>=10
d) Faça uma terceira... esta sim irá classificar (ordenar) os dados:
select *
from
  (
   select *
   from
     (
      select codigo, nome, filiacao
      from `acme`.`registros`
      where empresa>="WARNER BROS"
     ) as subquery1
   where codigo>=10
  ) as subquery2
order by empresa

Ok?

Editado por paulobergo
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...