私はSQL Serverの世界で初めてです。私は例Iはcategoryid
とcompanyid
にgameSubDetails
のIDを保存したgameDetails
で最初のテーブルのIDを参照して2番目のテーブルから名前を取得する方法は?
gameDetails(gid, name, categoryid, companyid, year)
と
gameSubDetails(id, name, delflag)
のための2つのテーブルを持っています。今、私はまたgameDetails
からの基準に基づいてgameDetails
の任意の値を検索したい場合は
は、どのように私はgameSubDetails
からCategory
とCompany
の名前を得ることができますか?
例えば、gameDetails
のすべての値を検索する場合は、year = 2015
です。
だから私は
select
g.gName, gsub.name as catid, gsub.name as compid
from
gameMaster g, gameSubDetails gsub
where
g.compid = gsub.id
and g.year = '2015'
としてクエリを書きました。しかし、それは両方(CATID、COMPID)で唯一の企業名を示しているが、私はwhere g.compid = gsub.id and g.catid = gsub.id and .year='2015'
のようなCATIDとの条件は、それがレコードを返さない場合、別のを入れてみても、 。
このシナリオを実行するには、どのような方法がよいかお勧めします。
注:CategoryId
とCompanyID
は同一のテーブルに格納されていますgameSubDetails
Idが異なるだけです。
mysqlまたは(MS)SQL-Server?ここに関係のない商品のタグを削除してください – Jens
[古いスタイルのJOINを使用して習慣が悪い](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-古いスタイルの*カンマで区切られたテーブル*スタイルのリストが、ANSI - ** 92 ** SQL標準の*適切な* ANSI 'JOIN'構文に置き換えられました** 25 years ** ago)、その使用はお勧めしません –
'year'を' gameDetails'から直接照会できないのはなぜですか? –