2011-12-06 13 views
2

私には問題があります... gamegamelist、およびplayerの3つのテーブルがあります。 gameテーブルにはゲームが含まれ、gamelistにはゲームでプレイしたいすべてのプレーヤーが含まれ、playerテーブルにはすべてのプレーヤーが含まれます。テーブルにないものが必要

私はこのクエリを作っています

var query1 = from es in gr.games 
      join esh in gr.gameLists on es.id equals esh.gameID 
      where es.holdID == play.holdID && esh.playerID.HasValue && esh.playerID == personID 
            select es; 

このクエリは私にプレイヤーがサインアップしたすべてのゲームを取得します...しかし、どのように私は彼がサインアップしていないすべてのゲームを得るのですか?ヒントやアイデアは?

答えて

1

あなたは、単純なが結合条件を反転でき、それは、gameLists表にはないgame項目を選択しています。 LINQだけequi-joinをサポートしていますので、
しかし、あなたはwhere句で濾過cross joinを使用してそれを表現する必要があります:

0

すべてのゲームのリストがある場合は、そのプレイヤーがサインアップしたゲームのリストに含まれていない完全なリストにあるゲームを確認できます。この方法で、あなたがサインアップしていないすべてのゲームを抽出します。

関連する問題