1

我有带有列FEATURE_NAMESTATE_ALPHACOUNTY_NAME人口数据的表格 fedcodes - 以及其他数据。我需要选择所有匹配的条目,并且FEATURE_NAME是不同的。我还需要这些行中的所有数据,而不仅仅是列出的那三个。此外,我需要在输出列表中显示这两种/所有/此类事件。请帮忙。STATE_ALPHACOUNTY_NAME

我已经尝试过内部连接,但它不适用于同一张桌子。我也尝试了以下脚本:

选择联邦代码。, count( ) num, FEATURE_NAME,STATE_ALPHA来自 fedcodes group by FEATURE_NAME, STATE_ALPHAnum > 1 ORDER BY fedcodesFEATURE_NAME DESC

但我不知道如何添加COUNTY_NAME不相同的术语,它只输出一行,其中 num 列显示出现次数。

例子:

    ID  FEATURE_CLASS   FEATURE_ID  FEATURE_NAME    CENSUS_CODE     CENSUS_CLASS_CODE   GSA_CODE    OPM_CODE    STATE_NUMERIC   STATE_ALPHA     COUNTY_SEQUENCE     COUNTY_NUMERIC  COUNTY_NAME     DATE_CREATED    PRIMARY_LATITUDE    PRIMARY_LONGITUDE   DATE_EDITED     fips    COUNTRY_NAME    POPULATION_DATA     city_county_allocate    is_county
    146627  Populated Place     1616849     Wyandotte   88900   P1  5310    265310163   26  MI  1   163     Wayne   1980-04-14 00:00:00     42.2142064  -83.1499239     03/20/2008  26163   US  25883   100     1
    147139  Populated Place     1617956     Wyandotte   88890   U6  NULL    NULL    26  MI  1   61  Houghton    1980-04-14 00:00:00     46.8899335  -88.8754114     NULL    26061   US  0   0   0

    34  Populated Place     2195    Bumstead    8360    U6  NULL    NULL    4   AZ  1   13  Maricopa    1980-02-08 00:00:00     33.5733726  -112.3568269    NULL    04013   US  0   0   0

- 从示例中可以看出,Wyandote 位于两个县,因此有两个条目,一个带有人口数据 25883,另一个带有人口数据 0 所以我需要这两个条目。Bumstead 只在一个县,所以我不需要选择那个。我希望这个例子能更好地解释事情。

4

2 回答 2

4

这是一些psedo代码,可以帮助您入门。基本上,您需要使用上面描述的规则将表连接回自身,然后返回您需要的任何字段。

SELECT  ... -- Add all the field you need from both intances of your table below
FROM    fedcodes T1 -- First instance of your table
INNER JOIN
        fedcodes T2 -- Second instance of your table
ON      T1.FEATURE_NAME = T2.FEATURE_NAME
AND     T1.STATE_ALPHA = T2.STATE_ALPHA 
AND     T1.COUNTY_NAME <> T2.COUNTY_NAME 
于 2013-05-10T20:16:26.770 回答
2

尝试

SELECT f1.* 
 FROM fedcodes f1 JOIN
      fedcodes f2 ON f1.feature_name = f2.feature_name
                 AND f1.state_alpha = f2.state_alpha 
                 AND f1.county_name <> f2.county_name

SQLFiddle

于 2013-05-10T20:18:03.430 回答