A ver si es posible...

31/05/2006 - 04:05 por Pablo Rodríguez | Informe spam
Tengo una consulta:

SELECT TOP 100 PERCENT S.Id [NroSocio], S.Nombre, UPPER(S.Apellido) AS
Apellido, TipoDoc + ' ' + S.NroDoc [Documento],
S.Vinculacion, S.F_Ingreso
FROM
(SELECT *
FROM tblSocio
WHERE Nombre LIKE '%' + @Nombre + '%'
AND Apellido LIKE '%' + @Apellido + '%') S
ORDER BY Apellido, Nombre

Mi pregunta es: es posible devolver un valor 'Si' o 'No'en la misma
consulta, si se cumple que en una segunda tabla, tblMembresia, hay un
registro cuyo IdSocio se corresponde con el Id en tblSocio...

¿Se entiende?

Preguntas similare

Leer las respuestas

#6 Pablo Rodríguez
01/06/2006 - 16:05 | Informe spam
OK, creo que más claro... imposible.
Gracias!


"qwalgrande" escribió en el mensaje
news:
Hola.

Te daré la versión corta y simplificada, puedes consultar los BOL si te
quedan más dudas.

Si tenemos dos tablas, A y B, vinculadas por el campo id, una union inner
devolverá los registros que estén en ambas tablas. Una union left
devolverá todos los registros de la tabla A y los de la tabla B que
coincidan y nulos para los que no. Una union right es igual que left, pero
devolviendo todos los registros de B.
Ejemplo:
Tabla A, registros 1, 2, 3
Tabla B, registros 2, 3, 4

select A.id as Campo_A, B.id as Campo_B from A inner join B on A.id = B.id
Campo_A Campo_B
2 2
3 3

select A.id as Campo_A, B.id as Campo_B from A left join B on A.id = B.id
Campo_A Campo_B
1 NULL
2 2
3 3

select A.id as Campo_A, B.id as Campo_B from A right join B on A.id = B.id
Campo_A Campo_B
2 2
3 3
NULL 4



Alberto López Grande (qwalgrande)


"Pablo Rodríguez" escribió en el mensaje
news:
A propósito de esta solución, podrías explicarme un poco como funciona
left y right join,
porque recuerdo haber visto por ej. left outer join, pero nunca los use
porque no se exactamente como funcionan.


Saludos
Pablo Rodríguez



"qwalgrande" escribió en el mensaje
news:uyVIy$
Hola.

Sí que se puede:

SELECT TOP 100 PERCENT S.Id [NroSocio], S.Nombre, UPPER(S.Apellido) AS
Apellido, TipoDoc + ' ' + S.NroDoc [Documento],
S.Vinculacion, S.F_Ingreso,
case when M.IdSocio is null then 'NO' else 'SI' end as [MiColumna]
FROM
(SELECT *
FROM tblSocio
WHERE Nombre LIKE '%' + @Nombre + '%'
AND Apellido LIKE '%' + @Apellido + '%') S left join
tblMembresia M on S.IdSocio = M.IdSocio
ORDER BY Apellido, Nombre


Alberto López Grande (qwalgrande)


"Pablo Rodríguez" escribió en el mensaje
news:%
Tengo una consulta:

SELECT TOP 100 PERCENT S.Id [NroSocio], S.Nombre, UPPER(S.Apellido) AS
Apellido, TipoDoc + ' ' + S.NroDoc [Documento],
S.Vinculacion, S.F_Ingreso
FROM
(SELECT *
FROM tblSocio
WHERE Nombre LIKE '%' + @Nombre + '%'
AND Apellido LIKE '%' + @Apellido + '%') S
ORDER BY Apellido, Nombre

Mi pregunta es: es posible devolver un valor 'Si' o 'No'en la misma
consulta, si se cumple que en una segunda tabla, tblMembresia, hay un
registro cuyo IdSocio se corresponde con el Id en tblSocio...

¿Se entiende?















email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida