質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
LINQ to SQL

LINQ to SQLは.NET Framework 3.5のコンポーネントで、リレーショナル データをオブジェクトとして管理するためのランタイム インフラストラクチャを提供します。

LINQ

LINQとはLanguage INtegrated Queryの略で、「統合言語クエリ」という意味です。C#やVisual Basicといった言語のコード内に記述することができるクエリです。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

2回答

1610閲覧

SQL文をLINQで書く方法を教えてください。

退会済みユーザー

退会済みユーザー

総合スコア0

LINQ to SQL

LINQ to SQLは.NET Framework 3.5のコンポーネントで、リレーショナル データをオブジェクトとして管理するためのランタイム インフラストラクチャを提供します。

LINQ

LINQとはLanguage INtegrated Queryの略で、「統合言語クエリ」という意味です。C#やVisual Basicといった言語のコード内に記述することができるクエリです。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2020/09/16 08:38

下記SQL文をLINQ(クエリ式)にするとどのように書けばよいか教えてください。

select ColC from AA
inner join (
select ColA,max(ColB) as ColB From AA
group by ColA
) BB
on AA.ColA=BB.ColA
and AA.ColB=BB.ColB

<AAテーブルの構成>
ColA varchar(5)
ColB varchar(5)
ColC varchar(5)
プライマリキーはColA,ColB

<環境>
データベース:SQLServer2008R2
ツール:Visualstudio2015
言語:VB.net

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gentaro

2020/09/16 08:41

丸投げ質問にしか見えません。 あなたが試した内容と、どのように上手くいってないのか、を質問文に記載しましょう。
退会済みユーザー

退会済みユーザー

2020/09/16 10:41 編集

> 下記SQL文をLINQ(クエリ式)にするとどのように書けばよいか あなたが質問に書いたのはクエリ構文に見えますけど? ・・・と思いましたが、DB サーバーに投げる SELECT クエリでしたね。テーブル内容詳細は不明、Linq to SQL か Linq to Entities かも不明ですけど、クエリ構文の書き方を教えてほしいと言うことですか・・・
退会済みユーザー

退会済みユーザー

2020/09/18 00:38

質問者さん、最初の投稿以来無言ですが、回答したので回答に対するフィードバックを返してください。役に立った/立たなかったぐらいの返事はすぐ返せるはず。役に立たなかったならどこが質問者さんの期待と違うのかも書いていただけるとありがたい。とにかく無言は NG です。マナー的にも。
guest

回答2

0

ベストアンサー

質問には書いてないですが、Linq to Entities を使うとします。

そのためのコンテキストクラスとエンティティクラスは生成済みとして、以下のようにしてできると思います。コードは C# ですので注意。

まとめて書くと分かりにくいので、テーブル BB に該当する IQueryable<T> を Linq to Entities で取得する部分を分けて書きます。

テーブル BB に該当する SQL 文

(select ColA, max(ColB) as ColB From AA group by ColA) BB

Linq to Entities

var context = new XxxxxEntities(); // コンテキストクラス var tableBB = from a in context.AA group a by a.ColA into g select new { ColA = g.Key, ColB = g.Max(f => f.ColB) };

AA と BB を内部結合する SQL 文

select ColC from AA inner join BB on AA.ColA = BB.ColA and AA.ColB = BB.ColB

Linq to Entities

var query = from a in context.AA join b in tableBB on a.ColA equals b.ColA where a.ColB == b.ColB select new { ColC = a.ColC };

検証はしてません(できません)。

投稿2020/09/17 04:23

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

下記SQL文をLINQ(クエリ式)にするとどのように書けばよいか教えてください。

前提ナシでは書きようがありません。

「EntityFramework を使用する」という前提でいいですか?

投稿2020/09/16 11:58

hidori

総合スコア402

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問