我有一个116个不同的代理到顶点/地理组合的列表,我必须确保它们配对在一起。例如,这里是我的116列表中的一小部分。执行多个WHERE语句的一个大查询
AGNT Vertex/Geo
5040 440292570
2010 440390000
1010 440390060
1180 440390246
1800 440390570
1130 440391110
1830 440391680
1410 440395020
1060 440397460
2000 440399685
1460 440399687
2020 440710000
1030 440710210
我一直在使用这个查询来检查每一对1乘1。换句话说,我必须不断更改agnt_hse和VRTX_GEOCODE_HSE来检查每一对是否正确。
USE ExternalUser
SELECT distinct HSE_KEY_HSE AS HOUSE_KEY, AGNT_HSE AS AGENT, VRTX_GEOCODE_HSE as GEOCODE
FROM ExternalUser.Vantage.HSE_BASE
INNER JOIN externaluser.Vantage.HSL_LOB ON HSE_KEY_HSE = HSE_KEY_HSL
LEFT JOIN externaluser.Vantage.HSM_MEMO ON HSE_KEY_HSE = HSE_KEY_HSM
WHERE MEMO_NO_HSM = 1
And sys_hsl = '8777'
And sys_hsm = '8777'
And delivery_segment_id_hsl = 'C'
And agnt_hse in ('5040') and VRTX_GEOCODE_HSE != '440292570'
有没有办法一次运行多个查询?
我熟悉UNION命令,但觉得可能有一种方法来压缩编码,因为如果我被强制使用UNION命令,我会粘贴100x以上的大型查询。
我想沿着
WHERE MEMO_NO_HSM = 1
And sys_hsl = '8777'
And sys_hsm = '8777'
And delivery_segment_id_hsl = 'C'
And agnt_hse in ('5040') and VRTX_GEOCODE_HSE != '440292570'
Then agnt_hse in ('2010') and VRTX_GEOCODE_HSE != '440390000'
Then agnt_hse in ('1010') and VRTX_GEOCODE_HSE != '440390060'
...etc
也许我会对此完全错误的东西线和那里有不同的方式来运行查询? 任何信息非常感谢。
谢谢@Gordon的回复。是的,我试图找出代理不匹配其顶点的情况。我想更多的对添加到这样的代码 '与对作为( 选择“5040”作为代理人,“440292570”为顶点UNION ALL 选择“2010”,“440390000” \t选择“1010”,' 440390060' \t) SELECT distinct distinct HSE_KEY_HSE AS HOUSE_KEY,AGNT_HSE AS AGENT,' – LLL
@LLL。 。 。在每个“select”前面都需要一个'union all'(第一个除外)。 –