linq - son - Encontrar valores comunes a todos los elementos
valores culturales segun autores (3)
Aquí es lo que surgió, creo que hay una manera más fácil pero;
var prodList = (from col in list select col["Prod"]).Distinct().ToList();
var valueList = from col in list
group col by col["Value"] into g
where g.Count() == prodList.Count()
select g.Key;
Lo cual me dará todos los valores que estoy buscando
Tengo un conjunto de datos con dos columnas de la siguiente manera;
Prod Value
A 1
A 2
A 3
B 2
B 4
C 1
C 2
Así que quiero todas las filas donde el valor es común para Prod, por lo que en el ejemplo anterior solo se devolverá lo siguiente.
A 2
B 2
C 2
O LINQ o sql serían útiles
Gracias
Puede usar el operador Intersecar en la segunda columna del conjunto de datos.
int[] numbersA = { 0, 2, 4, 5, 6, 8, 9 };
int[] numbersB = { 1, 3, 5, 7, 8 };
var commonNumbers = numbersA.Intersect(numbersB);
-- DROP TABLE #t2 UNCOMMENT WHEN TESTING...
CREATE TABLE #t2
(
Prod varchar(50),
Value int
)
INSERT INTO #t2 VALUES (''A'', 1)
INSERT INTO #t2 VALUES (''A'', 2)
INSERT INTO #t2 VALUES (''B'', 2)
INSERT INTO #t2 VALUES (''B'', 4)
INSERT INTO #t2 VALUES (''C'', 2)
SELECT
DISTINCT
p1.Prod,
p2.Value
FROM
#t2 p1
INNER JOIN
#t2 p2
ON
p2.Value = p1.Value AND p1.Prod <> p2.Prod
Esta es una solución basada en SQL Server :).