タイトルは私がしたいことのほとんどを示しています。私は2テーブル "オーダー"と "顧客"を持っています。注文テーブルには、注文を行ったすべての顧客の顧客IDが含まれており、顧客テーブルにはすべて顧客IDが含まれています。注文していない顧客を選択して表示する必要があります。私は顧客テーブルから得意先が受注テーブルから得意先と一致しない行を表示する必要がテーブルからIDを選択してください。別のテーブルのIDと一致しません
を知っています。
私はこれを行う方法がわかりませんが、私は理解できる解決策を見つけていないので、どんな助けでも大歓迎です。これが私がやったことです。
private void btnQ9_Click(object sender, RoutedEventArgs e)
{
DataClasses1DataContext dc = new DataClasses1DataContext();
var query = from c in dc.Customers
join o in dc.Orders on c.CustomerID equals o.CustomerID
group o by new { o.CustomerID, c.CompanyName } into grp
where(grp.Key.CustomerID.Count() ==0)
select new
{
CompanyName = grp.Key.CompanyName,
Order = grp.Key.CustomerID.Count()
};
DataQ9.ItemsSource = query.ToList();
}
あなたを持っている場合、これはまた、あなたが... http://stackoverflow.com/questions/9171063/convert-sql-to-linq-left-join-with-null – JamieD77
を希望しているクエリの同じタイプであります外部キーが適切に設定されている必要があります。dc.Customersでcを実行できるはずです。c.Orders.Count == 0はcを選択します。 – JamieD77
最初のリンクが表示されませんでした。投稿していただきありがとうございます。それ以外は将来的には外に出る。これはlinqの割り当てであり、私たちは作業するデータベースを与えられ、linqで与えられた問題を解決することになっていました。うまくいけば2番目のコメントは誰か、多分私自身の将来に役立つでしょう – Kevin