select nam ,phone,fax,
addr,
family,distance from airgas
where (select len(addr)-len(replace(addr, ', ', ' ')) from airgas ) > 2
这是我写的一个查询,查询出逗号出现次数大于2的记录,但是有错误提示,如下,没有看明白,请各位个指导一下。
Server: Msg 512, Level 16, State 1, Line 1
子查询返回的值多于一个。当子查询跟随在 =、!=、 <、 <=、> 、> = 之后,或子查询用作表达式时,这种情况是不允许的。
------解决方案--------------------
改為
select nam ,phone,fax,
addr,
family,distance from airgas
where len(addr)-len(replace(addr, ', ', ' ')) > 2
------解决方案--------------------
這裡沒必要使用子查詢。
另外,出錯的原因就是,你這個子查詢中的返回的紀錄不止一條,但是你卻將這個結果集和2進行比較。