在我的表中我有例如
县表中的CountyID,County和CityID以及城市表中我有表格,例如
城市ID和城市
如何创建一个报告,从县表中提取县,并根据县表中的cityid拉取城市。
由于
答案 0 :(得分:1)
由于这是一个非常基本的问题,我会给你一个基本答案,而不是为你做的代码。
如果表中的列具有彼此“匹配”的列,则可以将它们连接在一起,并将结果与查询结果几乎一样。
根据您的需要,还有不同类型的连接 - 例如,您加入的其中一个表中的某些行可能没有相应的匹配。
如果您确定某个城市肯定会有相应的县,请尝试在其匹配列CityID上加入两个表并查询结果。
答案 1 :(得分:0)
两个表之间明显的共同点是CityID,所以你要加入。我认为您的数据组织有误,我将CountryID放在City表中而不是CountryID中的CountryID。然后,根据所选的CountryID,您可以基于此限制对City表的查询。
答案 2 :(得分:0)
要了解Bridge的答案,你显然是SQL的新手,有很多地方可以挖掘如何编写它们。但是,您应该训练自己的最基本的基础知识是始终应用表名或别名以防止歧义,并尽量避免使用可能被视为语言保留字的列名...它们似乎总是让人咬人。
那就是说,最基本的查询是
select
T1.field1,
T1.field2,
etc with more fields you want
from
FirstTable as T1
where
(some conditional criteria)
order by
(some column or columns)
现在,在处理多个表时,您需要JOIN ...通常INNER或LEFT是最常见的。内部手段必须在两个表中匹配。 LEFT表示必须与左侧的表匹配,无论与右侧的匹配... ex:
select
T1.Field1,
T2.SomeField,
T3.MaybeExistsField
from
SomeTable T1
Join SecondTable T2
on T1.SomeKey = T2.MatchingColumnInSecondTable
LEFT JOIN ThirdTable T3
on T1.AnotherKey = T3.ColumnThatMayHaveTheMatchingKey
order by
T2.SomeField DESC,
T1.Field1
从这些示例中,您应该能够轻松地将表格及其关系相互结合到您的结果中......