Jump to content



Photo

Tirar Um Select Aninhado


  • Please log in to reply
7 replies to this topic

#1 Agente Linhares

Agente Linhares

    fuis...abraços!

  • Ex-Admins
  • 3138 posts
  • Sexo:Não informado
  • Localidade:Biritiba Mirim-SP

Posted 10/01/2006, 14:28

ConsPedido = "SELECT PedidosFinalizados.Cod, PedidosFinalizados.CodCliente, "
ConsPedido = ConsPedido & "Clientes.Nome FROM Clientes INNER JOIN PedidosFinalizados "
ConsPedido = ConsPedido & "ON PedidosFinalizados.CodCliente = Clientes.Cod ORDER BY Clientes.Nome"
Set ConsPedido = Banco.Execute(ConsPedido)

pro q eu to usando, funciona traqnuilo esse innerjon acima, porém queria tentar armar selects aninhados no lugar desse innerjoin, nao sei se é possivel neste caso, porém se é, não consegui.;)

meu objetivo:
preciso mostrar uma lista de pedidos ORDERNADOS por cliente, sendo q a estrutura do bd nao pode ser modificada é esta assim:

tabela PEDIDOS: Cod, CodCliente, Pedido
tabela CLIENTES Cod, Nome

se alguem conseguir...(a impressão q tenho é q este caso em especifico, é um caso q DEVE ser usado INNERJOIN e nao é facultativo isso..hehehe
  • 0
> Busca On-line - A Busca que faltava na Internet! - Cadastre-se!
---------------------------------------------------------------------------
> BRdesign.NET - Soluções em Websites e Sistemas E-Commerce.
---------------------------------------------------------------------------
> BR-ecommerce - Sua loja virtual na internet! - Apenas R$99,90 mensais (hospedagem inclusa)!

#2 Prog

Prog

    ...

  • Ex-Admins
  • 3761 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.

Posted 10/01/2006, 14:32

Agente....

Veja ai:
select cod, pedido, (select nome from clientes where cod=codcliente) as nomecliente from pedidos

Qual o motivo de querer mudar de join para um select aninhado?
  • 0
------
Mero mortal!

#3 Agente Linhares

Agente Linhares

    fuis...abraços!

  • Ex-Admins
  • 3138 posts
  • Sexo:Não informado
  • Localidade:Biritiba Mirim-SP

Posted 10/01/2006, 15:14

Agente....

Veja ai:

select cod, pedido, (select nome from clientes where cod=codcliente) as nomecliente from pedidos

Qual o motivo de querer mudar de join para um select aninhado?

um pouco e frescura minha...mas + por querer saber se é possivel msmo neste caso q citei.

e outra, a pg q to mechendo, pra implementar o select c/ inner join eu teria q alterar alguns itens referentes a campos e tals...queria evitar isso tb.


testei algo aqui, porém qd eu ordeno por nome nao exibe na ordem correta:


nem c/ o order by aqui:
Set ConsPedido = Banco.Execute("SELECT Cod, Pedido,(SELECT Nome FROM Clientes WHERE Cod=CodCliente) AS NomeCliente FROM PedidosFinalizados ORDER BY NomeCliente ASC")

' code de loop
response.write ConsPedido("Cod")&"<br>"
response.write ConsPedido("Pedido")&"<br>"
response.write ConsPedido("NomeCliente")&"<br>"
' code de loop


nem aqui:

Set ConsPedido = Banco.Execute("SELECT Cod, Pedido,(SELECT Nome FROM Clientes WHERE Cod=CodCliente ORDER BY NomeCliente ASC) AS NomeCliente FROM PedidosFinalizados") ' code de loop
response.write ConsPedido("Cod")&"<br>"
response.write ConsPedido("Pedido")&"<br>"
response.write ConsPedido("NomeCliente")&"<br>"
' code de loop


nos dois tentei ordernar c/ "Nome" e "NomeCliente"

listar os dados lista msmo...porem os nomes sao listados em desencontro c/ os dados pelo q pude notar.
  • 0
> Busca On-line - A Busca que faltava na Internet! - Cadastre-se!
---------------------------------------------------------------------------
> BRdesign.NET - Soluções em Websites e Sistemas E-Commerce.
---------------------------------------------------------------------------
> BR-ecommerce - Sua loja virtual na internet! - Apenas R$99,90 mensais (hospedagem inclusa)!

#4 Prog

Prog

    ...

  • Ex-Admins
  • 3761 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.

Posted 10/01/2006, 15:28

Neste caso, vc pode tentar ordenar usando o número correspondente a posição do campo, tipo:

SELECT Cod, Pedido,(SELECT Nome FROM Clientes WHERE Cod=CodCliente) AS NomeCliente FROM PedidosFinalizados ORDER BY 3 ASC

  • 0
------
Mero mortal!

#5 Agente Linhares

Agente Linhares

    fuis...abraços!

  • Ex-Admins
  • 3138 posts
  • Sexo:Não informado
  • Localidade:Biritiba Mirim-SP

Posted 11/01/2006, 09:04

realmente prog, verifiquei certinho e nao ta desencontando nao..

assim rola:
Set ConsPedido = Banco.Execute("SELECT *,(SELECT Nome FROM Clientes WHERE Cod=CodCliente) AS NomeCliente FROM PedidosFinalizados ORDER BY CodCliente ASC")

so q aí ele ordena pelo CodCliente (da tabela de pedidos) o q nao adiantaria em nada, pois pr aordenar por CodCliente, eu fço um simples select assim:
Set ConsPedido = Banco.Execute("SELECT * FROM PedidosFinalizados ORDER BY CodCliente ASC")

q ja me satisfaz...

o problema, é fazer o select como eu citei acima, mas ordenar por Nome (q é um campo da tabela Clientes, s/ innerjoin é claro)

tentei algumas modificações seguindo a ideia q vc me passou mas nao rolou tb.
  • 0
> Busca On-line - A Busca que faltava na Internet! - Cadastre-se!
---------------------------------------------------------------------------
> BRdesign.NET - Soluções em Websites e Sistemas E-Commerce.
---------------------------------------------------------------------------
> BR-ecommerce - Sua loja virtual na internet! - Apenas R$99,90 mensais (hospedagem inclusa)!

#6 Worm

Worm

    Veterano

  • Ex-Admins
  • 1343 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Obter o maximo conhecimento.

Posted 11/01/2006, 13:29

Agente desculpa atrapalhar o tópico..

Quando vcs usam o quote fica SQL e as cores ficam diferentes, como faz ?


Valew :D
  • 0

#7 Agente Linhares

Agente Linhares

    fuis...abraços!

  • Ex-Admins
  • 3138 posts
  • Sexo:Não informado
  • Localidade:Biritiba Mirim-SP

Posted 11/01/2006, 13:35

Agente desculpa atrapalhar o tópico..

Quando vcs usam o quote fica SQL e as cores ficam diferentes, como faz ?


Valew :D

hehe.


assim:

so mudar o texto escrito CODE pra SQL dentro dos []

aí colore referente a sql.

eu descobri tem um tempinho ja, mas quase nao uso..por costume msmo. ;)

tem HTML tb, ó:

<td align="center" valign="middle"></td>

msmo esquema. B)
  • 0
> Busca On-line - A Busca que faltava na Internet! - Cadastre-se!
---------------------------------------------------------------------------
> BRdesign.NET - Soluções em Websites e Sistemas E-Commerce.
---------------------------------------------------------------------------
> BR-ecommerce - Sua loja virtual na internet! - Apenas R$99,90 mensais (hospedagem inclusa)!

#8 Worm

Worm

    Veterano

  • Ex-Admins
  • 1343 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Obter o maximo conhecimento.

Posted 11/01/2006, 15:29

Desculpa ai de novo.

Mas brigadão Agente. :D


Ps: testando


select * from tabela where campo = '" & var & "'"

<a href = "link.asp">Linkando</a>


hehehe
  • 0




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq