2016-11-16 281 views
0

不知道如何提出這個問題,所以我通過給出場景來問。來自SQL服務器查詢結果的查詢

Select ID, CompanyID, Company_name from memberdetails where status in ('A','S'); 

查詢返回說1000行。現在我想從上面的CompanyID列的結果中搜索表industry_catagory。我怎樣才能創建這個單一的sql聲明。

+0

您是否需要第一個查詢的結果?或者你只需​​要'CompanyID',這樣你就可以將它用於第二個查詢? – Gavin

+1

在CompanyId上將'Join'加入到兩個表中。 –

+0

您可以加入或使用子查詢。使用提供的查詢作爲子查詢WHERE companyID IN(Select ID,CompanyID,Company_name from memberdetails where status in('A','S')) –

回答

1

使用下一方法之一:

子查詢: -

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') 
+1

推廣使用'JOIN' sintaxis,Aaron Bertrand寫了一篇不錯的文章[不良習慣踢:使用舊式JOIN](http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins.aspx)關於它。 –

2

這應該使用更多最新的加入語法:

SELECT CompanyID 
FROM industry_catagory a 
INNER JOIN memberdetails b ON a.CompanyID = b.CompanyID 
WHERE b.status in ('A','S')