Fórum WMO: Tirar Um Select Aninhado - Fórum WMO

Ir para

Página 1 de 1
  • Novo tópico
  • Responder
  • Ícone  Compartilhar

Tirar Um Select Aninhado desse INNER JOIN

#1 Membro offline   Agente Linhares 

  • fuis...abraços!
  • Ícone
  • Grupo: Ex-Admins
  • Posts: 3.138
  • Cadastrado: 16/11/2002
  • Sexo:Não informado
  • Localidade:Biritiba Mirim-SP
Pontos: 1
Neutral

Postou 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
> 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)!
0

#2 Membro offline   Prog 

  • ...
  • Ícone
  • Grupo: Ex-Admins
  • Posts: 3.761
  • Cadastrado: 07/05/2004
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.
Pontos: 3
Neutral

Postou 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?
------
Mero mortal!
0

#3 Membro offline   Agente Linhares 

  • fuis...abraços!
  • Ícone
  • Grupo: Ex-Admins
  • Posts: 3.138
  • Cadastrado: 16/11/2002
  • Sexo:Não informado
  • Localidade:Biritiba Mirim-SP
Pontos: 1
Neutral

Postou 10/01/2006, 15:14

Prog, em 10 Jan 2006, 14:32 , disse:

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.
> 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)!
0

#4 Membro offline   Prog 

  • ...
  • Ícone
  • Grupo: Ex-Admins
  • Posts: 3.761
  • Cadastrado: 07/05/2004
  • Sexo:Masculino
  • Localidade:Rio de Janeiro/RJ
  • Interesses:TI, Software Livre, Design Digital e Rock'n'Roll.
Pontos: 3
Neutral

Postou 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

------
Mero mortal!
0

#5 Membro offline   Agente Linhares 

  • fuis...abraços!
  • Ícone
  • Grupo: Ex-Admins
  • Posts: 3.138
  • Cadastrado: 16/11/2002
  • Sexo:Não informado
  • Localidade:Biritiba Mirim-SP
Pontos: 1
Neutral

Postou 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.
> 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)!
0

#6 Membro offline   Worm 

  • Veterano
  • Ícone
  • Grupo: Ex-Admins
  • Posts: 1.343
  • Cadastrado: 01/09/2004
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Obter o maximo conhecimento.
Pontos: 0
Neutral

Postou 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 Membro offline   Agente Linhares 

  • fuis...abraços!
  • Ícone
  • Grupo: Ex-Admins
  • Posts: 3.138
  • Cadastrado: 16/11/2002
  • Sexo:Não informado
  • Localidade:Biritiba Mirim-SP
Pontos: 1
Neutral

Postou 11/01/2006, 13:35

Blender, em 11 Jan 2006, 13:29 , disse:

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)
> 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)!
0

#8 Membro offline   Worm 

  • Veterano
  • Ícone
  • Grupo: Ex-Admins
  • Posts: 1.343
  • Cadastrado: 01/09/2004
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:Obter o maximo conhecimento.
Pontos: 0
Neutral

Postou 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

Página 1 de 1
  • Novo tópico
  • Responder

1 usuário(s) está(ão) lendo este tópico
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)