1

PromotionRequest4列のテーブルがあります。

| PromoId | PromoType 
----------------------
|   101   |  1   |  
|   101   | 2    |  
|   103   | 3    |  
|   104   | 4    |  

PromotionResponsek私は4つの列(、、、)PromoIdPromoType持つテーブルを持っていますValuePromoDescそのうちの1つはPromoId

値がTableの値と一致するすべての行を検索する必要がPromotionResponseあります。PromoIdPromoIdPromotionRequest

4

3 に答える 3

5

これを SQL でタグ付けしたので、これを SQL で実行する場合は、次を使用しますINNER JOIN

select rs.promoid,
  rs.promotype,
  rs.value,
  rs.promodesc
from PromotionResponse rs
inner join PromotionRequest pr
  on rs.promoid = pr.promoid
于 2013-01-18T11:42:08.447 に答える
4

以下のように、このlinqの方法を試して、応答テーブルでIDを見つけることができます

List<int> ids = requesttable.AsEnumerable()
               .Select(r => (int) r["Id"])
               .ToList();


var query = from item in responsetable.AsEnumerable()
            where ids.Contains( (int) item["Id"] )
            select item;
于 2013-01-18T11:42:12.867 に答える
0
var matched = from table1 in PromotionRequest.AsEnumerable()
               join table2 in PromotionResponse .AsEnumerable() on
               table1.Field<string>("PromoId ") equals table2.Field<string>("PromoId ")
               where table1.Field<string>("PromoId ") == table2.Field<string>("PromoId ")
               select table2;
if (matched.Any())
 {
 }
于 2013-01-18T12:03:58.763 に答える