我是SQL Server領域的新手。我有例如如何通過引用第一個表中的ID從第二個表中獲取名稱?
gameDetails(gid, name, categoryid, companyid, year)
和
gameSubDetails(id, name, delflag)
在gameDetails
我已經存儲的gameSubDetails
IDS在categoryid
和companyid
兩個表。
現在,如果我想搜索基於也是從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),但即使我試圖把另一個地方與CATID條件像where g.compid = gsub.id and g.catid = gsub.id and .year='2015'
它不返回任何記錄。
請建議什麼是在這種情況下工作的最佳方式。
注意:CategoryId
和CompanyID
存儲在同一個表gameSubDetails
只是Id是不同的。
mysql或(MS)SQL服務器?請刪除此處不相關產品的標籤 – Jens
[踢壞的惡習:使用舊式JOIN](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to- kick-using-old-style-joins.aspx) - 在ANSI - ** 92 ** SQL標準中,舊式*表格樣式的舊式*逗號分隔列表已替換爲* proper * ANSI'JOIN'語法** 25年前**),不鼓勵使用 –
爲什麼不能直接從'gameDetails'查詢'year'? –