|
エログルーヴさんへ
おはようございます、うえのです。
>SQL文で条件設定してみたく勉強中なんですが、SNOWMANさんのホームページにある、
>”D競走馬データ.IDM>=(select IDM FROM D競走馬データ AS T2 WHERE T2.レースキー=D競走馬データ.[レースキー] AND IDM印='2')+10”
>この文章の「AS T2」の意味が分からないんですがどなたか分かる方いらっしゃったらお教え願えますか。
>あと、列の名前のレースキーを[]←このカッコでくくってあるのとないのとあるのはどういうことかもついでに
>教えてもらえたらありがたいです。_(._.)_
「T2」ですが、別に何でもよかったりします。例えば、下の2つのSQLでもOKです。
[D競走馬データ].[IDM]>=(select [IDM] FROM [D競走馬データ] AS [エログルーヴ] WHERE [エログルーヴ].[レースキー]=[D競走馬データ].[レースキー] AND [IDM印]='2')+10
[D競走馬データ].[IDM]>=(select [IDM] FROM [D競走馬データ] AS [もう1つのD競走馬データ] WHERE [もう1つのD競走馬データ].[レースキー]=[D競走馬データ].[レースキー] AND [IDM印]='2')+10
[エログルーヴ]や[もう1つのD競走馬データ]はD競走馬データをもう1つ用意したものです。
名前が同じだと区別つかなくなる(というか、エラーになる)ので、自分で名前をを付けることになります。
自分が分かりやすい名前であれば、どんな名前でも問題ありません。
また、[]で括っても、括っていなくても、どちらでも問題なく動きます。
ただ、テーブル名に数字を指定した場合、[]で括らないと動かないので、基本的には[]で括った方がいいと思います。
例えば……
[D競走馬データ].[IDM]>=(select [IDM] FROM [D競走馬データ] AS 1 WHERE 1.[レースキー]=[D競走馬データ].[レースキー] AND [IDM印]='2')+10
↑これは動きません。
[D競走馬データ].[IDM]>=(select [IDM] FROM [D競走馬データ] AS [1] WHERE [1].[レースキー]=[D競走馬データ].[レースキー] AND [IDM印]='2')+10
↑これは動きます。
上手いこと説明できていないかもしれないんで、わからなければまた書き込んでください。
|
|