获取相应的States of States表

时间:2015-07-23 09:54:02

标签: sql sql-server sql-server-2008

我们有两个表CountryCountryStates,其中包含以下字段

Country
- CountryId
- CountryName

CountryStates
- StateId
- StateName
- CountryId

有些国家/地区没有添加任何状态。 现在我们只需要获取添加了状态的国家。

4 个答案:

答案 0 :(得分:1)

像这样使用Exists

SELECT CountryID,CountryName 
FROM Country C
WHERE EXISTS
(
    SELECT 1 
    FROM CountryStates S 
    WHERE S.CountryID = C.CountryID
)

答案 1 :(得分:1)

您可以使用此查询仅检索具有州的国家/地区:

SELECT *
FROM    Country AS C
WHERE   EXISTS (SELECT TOP 1 1 
                FROM    CountryStates CS
                WHERE   CS.CountryId = C.CountryId
            )

答案 2 :(得分:1)

您可以使用CountryId在CountryStates上执行JOIN(也称为INNER JOIN)。

这将只为您提供为其添加州的国家/地区的详细信息。

SELECT *
FROM Country
INNER JOIN CountryStates ON Country.CountryId = CountryStates.CountryId

答案 3 :(得分:1)

使用样本INNER JOIN可以获得相同的结果..

SELECT CountryID,CountryName
来自国家C
INNER JOIN CountryStates S
ON C.CountryID = S.CountryID