[firebase-br] RES: Ayuda con un SELECT

Matheus(GMAIL) matheus.jgs em gmail.com
Qua Ago 15 10:35:19 -03 2012


Quando você utiliza um subselect, se colocar um apelido deverá ser colocado
um "AS", isso podendo ser utilizado para outros campos que quiser mudar o
apelido.

SELECT 
	T1.CAMPO_1, 
	T1.CAMPO_2, 

	(
	   SELECT T2.CAMPO_3 
	   FROM TABELA_2 T2 
	   WHERE T2.FK_TABELA_2 = T1.PK_TABELA_1

	 ) AS "NOME_DO_CAMPO"
FROM TABELA_1  T1
WHERE (CONDICOES DA TABELA_1)

-----Original Message-----
From: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
On Behalf Of Rafael Voltani
Sent: quarta-feira, 15 de agosto de 2012 10:33
To: 'FireBase'
Subject: [firebase-br] RES: Ayuda con un SELECT
Importance: High

Por não ter tanta experiência ainda...

Eu colocaria um select dentro do select...

Ex:
SELECT 
	T1.CAMPO_1, 
	T1.CAMPO_2, 

	(
	   SELECT T2.CAMPO_3 
	   FROM TABELA_2 T2 
	   WHERE T2.FK_TABELA_2 = T1.PK_TABELA_1

	 ) "NOME_DO_CAMPO"
FROM TABELA_1  T1
WHERE (CONDICOES DA TABELA_1)

Espero ter ajudado...

[]s

Rafael Voltani
Firebird 2.5
Delphi 2010

-----Mensagem original-----
De: lista-bounces em firebase.com.br
[mailto:lista-bounces em firebase.com.br] Em nome de W O
Enviada em: terça-feira, 14 de agosto de 2012 23:17
Para: FireBase
Assunto: [firebase-br] Ayuda con un SELECT

Hola a Todos

Tengo tres tablas:
     CUENTAS (clave primaria = CUE_NUMERO)
     ASIENTOSDET (clave primaria = ASI_IDENTI + ASI_ORDENX)
     ASIENTOSCAB (clave primaria = ASC_IDENTI)

En CUENTAS tengo las columnas CUE_NUMERO, CUE_NOMBRE

En ASIENTOSDET tengo las columnas ASI_IDENTI, ASI_NUMCUE, ASI_MONTOX

En ASIENTOSCAB tengo las columnas ASC_IDENTI, ASC_FECHAX

Con los siguientes datos:

    CUENTAS
    ---------------
          1                  ACTIVO
          1.01                  ACTIVO CORRIENTE
          1.01.01                  DISPONIBILIDADES
          1.01.01.01                  Caja
          1.01.01.02                  Bancos

    ASIENTOSDET
    ----------------------
          123          1.01.01.02          5200
          123          1.01.01.01          5200

    ASIENTOSCAB
    -----------------------
          123          02/04/2012

Lo que quisiera es obtener una consulta con estos resultados:

          1                  ACTIVO
          1.01                  ACTIVO CORRIENTE
          1.01.01                  DISPONIBILIDADES
          1.01.01.01                  Caja
5200
          1.01.01.02                  Bancos                    5200

cuando la fecha está entre '01/01/2012' y '02/04/2012'

y con estos resultados:

          1                  ACTIVO
          1.01                  ACTIVO CORRIENTE
          1.01.01                  DISPONIBILIDADES
          1.01.01.01                  Caja
0
          1.01.01.02                  Bancos                        0

cuando la fecha está entre '01/01/2012' y '31/03/2012'

He probado diversas combinaciones de LEFT JOIN, INNER JOIN, OUTER
JOIN, pero con ninguna consigo esos resultados.

¿Es posible conseguirlos?

Muchas gracias, por adelantado.

Walter.
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista