se tenga lo siguiente:T-SQL: ¿Cómo obtengo las filas de una tabla cuyos valores coinciden por completo con los valores de otra tabla?
declare @a table
(
pkid int,
value int
)
declare @b table
(
otherID int,
value int
)
insert into @a values (1, 1000)
insert into @a values (1, 1001)
insert into @a values (2, 1000)
insert into @a values (2, 1001)
insert into @a values (2, 1002)
insert into @b values (-1, 1000)
insert into @b values (-1, 1001)
insert into @b values (-1, 1002)
¿Cómo la consulta para todos los valores de @ un concuerdan completamente con @b?
{@a.pkid = 1, @b.otherID = -1}
no serían devueltos (sólo 2 de los 3 valores de concordancia)
{@a.pkid = 2, @b.otherID = -1}
sería devuelto (3 de 3) valores partido
tablas refactoración, puede ser una opción.
EDIT: que he tenido éxito con las respuestas de James y Tom H.
Cuando agrego otro caso en @b, caen un poco corto.
insert into @b values (-2, 1000)
Suponiendo que esta debe devolver dos filas adicionales ({@a.pkid = 1, @b.otherID = -2}
y {@a.pkid = 2, @b.otherID = -2}
, no funciona. Sin embargo, para mi proyecto esto no es un problema.
he modificado la mina para dar cuenta de los duplicados – James