【问题标题】:SQL- Possible one to many join?SQL-可能的一对多连接?
【发布时间】:2014-02-10 09:23:30
【问题描述】:

我正在编写一个 SQL 查询,该查询需要识别具有相同名称的地址和具有多个子名称的城市。因此,作为示例,我需要识别类似于以下内容的情况:CityA 的 100 Main Street 的子名称为 Lucas Estates,CityA 的 150 Main Street 的子名称为 Valley Estates。这是我到目前为止所拥有的......

SELECT A.NAME ,
       A.CITY ,
       A.SUBNAME
FROM       ADDRESS A
INNER JOIN STREETS B ON A.NAME = B.Name
WHERE A.NAME = B.NAME
  and (    A.CITY = B.LCITY
        or A.CITY = B.RCITY
      )
  and ISNULL( A.SUBNAME , '' ) != '' 
ORDER BY A.SUBNAME

所以这给了我与街道匹配并有子名称的地址。我需要查看具有多个子名称的地址和街道。有人有什么建议吗?

【问题讨论】:

  • GROUP BY .. HAVING COUNT - 另外,不要标记竞争 SQL 实现;他们是不同的野兽。

标签: sql join inner-join


【解决方案1】:

如果“我正在编写一个 SQL 查询,该查询需要识别具有相同名称的地址和具有多个子名称的城市”是您真正想要做的,那么自联接可能就是您想要的。

select a.name, a.city, a.subname
from address a join address b on a.name = b.name
and a.city = b.city
and a.subname <> b.subname
order by 1, 2

【讨论】:

    猜你喜欢
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    • 2014-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多