Sentencia SQL

Necesito juntar dos sentencias en una

SELECT cuenta, saldoan, fecha, importe AS ingreso FROM movimi WHERE codigo = 'I'

SELECT cuenta, saldoan, fecha, importe AS reintegro FROM movimi WHERE codigo = 'R'

Basicamente tengo una tabla con los campos cuenta, codigo, saldoan, fecha e importe. Lo que quiero es que se me muestre el importe como un campo ingreso si el codigo es 'I' o como reintegro si el codigo es 'R'.

Me trae de cabeza.. he intentado hacer una subselect pero las tengo muy verdes y no lo consigo...

La necesito para un informe con el iReport

Saludos
Buenas, la verda que no soy muy dado a SQL y estoy empezandolo, quizas lo que voy a decir ya lo has probado, o es ua locura total de un novato, pero quien sabe, ¿puede ser esto?

SELECT cuenta, saldoan, fecha, importe AS ingreso, reintegro FROM movimi WHERE codigo = 'I', codigo = 'R';
Pues no me vale.. pero muchas gracias por intentarlo. ;)

PD. Yo tambien estoy empezando..xD
Creo, que usando inner join te puedes ayudar un poco. Incluso con producto natural (Natural Inner Join) ya que los campos son los mismiticos únicamente cambiando un parámetro.

Échale un vistacillo a ésto a ver si te funciona.

ByEs [buenazo]
bitman escribió:Creo, que usando inner join te puedes ayudar un poco. Incluso con producto natural (Natural Inner Join) ya que los campos son los mismiticos únicamente cambiando un parámetro.

Échale un vistacillo a ésto a ver si te funciona.

ByEs [buenazo]


El inner join se supone q es para cuando estás utilizando tablas cruzadas, aquí es una tabla simple debería ser:

SELECT cuenta, saldoan, fecha, importe AS ingreso, reintegro FROM movimi WHERE codigo = 'I' or codigo = 'R';
ó
SELECT cuenta, saldoan, fecha, importe AS ingreso, reintegro FROM movimi WHERE codigo = 'I' or 'R';

Si mal no recuerdo, que hace años q no uso sql.
xklibur escribió:
bitman escribió:Creo, que usando inner join te puedes ayudar un poco. Incluso con producto natural (Natural Inner Join) ya que los campos son los mismiticos únicamente cambiando un parámetro.

Échale un vistacillo a ésto a ver si te funciona.

ByEs [buenazo]


El inner join se supone q es para cuando estás utilizando tablas cruzadas, aquí es una tabla simple debería ser:

SELECT cuenta, saldoan, fecha, importe AS ingreso, reintegro FROM movimi WHERE codigo = 'I' or codigo = 'R';
ó
SELECT cuenta, saldoan, fecha, importe AS ingreso, reintegro FROM movimi WHERE codigo = 'I' or 'R';

Si mal no recuerdo, que hace años q no uso sql.


Yo creo que seria asi mas bien la 1ª que ha pusto, lo tengo olvidado yo tambien.
SELECT cuenta, saldoan, fecha, importe AS ingreso, reintegro FROM movimi WHERE codigo IN ('I', 'R')
Solucionada. Muchas gracias a todos por la ayuda.
7 respuestas