不知道如何提出這個問題,所以我通過給出場景來問。來自SQL服務器查詢結果的查詢
Select ID, CompanyID, Company_name from memberdetails where status in ('A','S');
查詢返回說1000行。現在我想從上面的CompanyID
列的結果中搜索表industry_catagory
。我怎樣才能創建這個單一的sql
聲明。
不知道如何提出這個問題,所以我通過給出場景來問。來自SQL服務器查詢結果的查詢
Select ID, CompanyID, Company_name from memberdetails where status in ('A','S');
查詢返回說1000行。現在我想從上面的CompanyID
列的結果中搜索表industry_catagory
。我怎樣才能創建這個單一的sql
聲明。
使用下一方法之一:
子查詢: -
Select CompanyID from industry_catagory
where CompanyID in (Select CompanyID from memberdetails where status in ('A','S'))
加入: -
Select CompanyID
from industry_catagory a , memberdetails b
where a.CompanyID = b.CompanyID
and b.status in ('A','S')
推廣使用'JOIN' sintaxis,Aaron Bertrand寫了一篇不錯的文章[不良習慣踢:使用舊式JOIN](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins.aspx)關於它。 –
這應該使用更多最新的加入語法:
SELECT CompanyID
FROM industry_catagory a
INNER JOIN memberdetails b ON a.CompanyID = b.CompanyID
WHERE b.status in ('A','S')
您是否需要第一個查詢的結果?或者你只需要'CompanyID',這樣你就可以將它用於第二個查詢? – Gavin
在CompanyId上將'Join'加入到兩個表中。 –
您可以加入或使用子查詢。使用提供的查詢作爲子查詢WHERE companyID IN(Select ID,CompanyID,Company_name from memberdetails where status in('A','S')) –