【问题标题】:SQL Server: How to do an unmatched query using two SELECT statementsSQL Server:如何使用两个 SELECT 语句进行不匹配的查询
【发布时间】:2013-07-19 03:39:47
【问题描述】:

我有以下两个查询要组合并获得组合“zone_type-building_type”的不匹配结果

第一个 SQL 查询

select zone_type, building_type from area where zone_type=2

第二个 SQL 查询

select zone_type, building_type from region where building_type='a'

我想找出在第一个 sql 查询中但不在第二个查询中的所有“区域类型构建类型”组合......反之亦然。请注意,我正在寻找两者的组合,而不仅仅是单独的区域或建筑类型。例如,如果区域类型为 5,建筑类型为 XYZ,那么我想在一个查询结果中查找“5XYZ”,但不在另一个查询结果中。使用 MS SQL Server 2008

非常感谢!

【问题讨论】:

    标签: sql-server database sql-server-2008 select join


    【解决方案1】:

    解决办法如下:

    select zone_type, building_type from area where zone_type=2
    except
    select zone_type, building_type from region where building_type='a'
    

    第二次查询

    select zone_type, building_type from region where building_type='a'
    except
    select zone_type, building_type from area where zone_type=2
    

    【讨论】:

    • 这似乎是解决方案,但是,无论如何,这两个查询都可以组合在一个语句中吗?也许使用“UNION”?
    • 好吧,当我使用 UNION 时,我得到的结果为零......不知道为什么会这样
    • (select zone_type, building_type from area where zone_type=2 except select zone_type, building_type from region where building_type='a') union (select zone_type, building_type from region where building_type='a' except select zone_type , building_type from zone_type=2)
    猜你喜欢
    • 2011-02-14
    • 1970-01-01
    • 2013-12-06
    • 1970-01-01
    • 1970-01-01
    • 2017-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多