联合查询的问题,第一次为真就不查询第二次,如果为否需要查询第二次。 select if(1,-1,(select 2));如果第二次查询的是一个字段 这样就可以了。但如果第二次需要返回两个字段如何处理呢?!select if(1,-1,(select 2,3));这样就不行咯!。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select 2,3这个返回的算是一个结果集 select if(1,-1,(select 2)),if(1,-1,(select 3));只能分开。但这个应用非常奇怪,建议楼主举实际例子,这样可以根据实际应用看看有没有更适合的方案。 子查询中只能返回1个字段,select 2,3是两个字段写成2个字段即可select if(1,-1,(select 2)),if(1,-1,(select 3))具体问题是什么 select if((select count(*) from table_a)>0,-1,(select `A` from table_b));意思是先查询表a,如果存在就不用再查询了,如果不存在就查询表b,如果返回表b的一个字段是可以的。问题是如何返回表b的两个字段?! select DISTINCT IF(aa>0,-1,b.a), iF(aa>0,-1,b.b) from (select count(*) as a from table_a) a,table_b b select * from a where id=1union allselect * from b where (select count(*) from table_a)=0 SP是指split切割的意思么?!我也想过把两个字段用小数点结合起来,然后取得数据后再分开。现在来请教前辈是不是有更好的办法解决。 SP是指split切割的意思么?!存储过程 小弟不懂DISTINCT的作用,在不管DISTINCT的意义的情况下select IF(a.a>0,-1,b.a), iF(a.a>0,-1,b.b) from (select count(*) as a from table_a) a,table_b b这样是达到要求了。但我有个疑问:这样不是就执行了两次查询么? 是,因为你要根据(select count(*) as a from table_a)的结果来判断取值 mysql 存储过程+临时表执行过程中提示临时表不存在 求一条SQL语句 Toad For Mysql 创建存储过程 mysql 5.0.51b 创建表时 出现1064错误 急需解答 为什么连不上MySQL数据库? 关于sql语句的问题 win2000环境下如何加大mysql的连接数,即设置max_connections 错在那里?连接mysql的问题 mysql查找插入和存储过程执行效率提高 从当前数据开始主从同步 请教一个索引相关的问题,谢谢 视图查询排序慢,关联字段已加索引
只能分开。但这个应用非常奇怪,建议楼主举实际例子,这样可以根据实际应用看看有没有更适合的方案。
select if(1,-1,(select 2)),if(1,-1,(select 3))
具体问题是什么
(select count(*) as a from table_a) a,table_b b
union all
select * from b where (select count(*) from table_a)=0
SP是指split切割的意思么?!我也想过把两个字段用小数点结合起来,然后取得数据后再分开。现在来请教前辈是不是有更好的办法解决。
存储过程
小弟不懂DISTINCT的作用,在不管DISTINCT的意义的情况下
select IF(a.a>0,-1,b.a), iF(a.a>0,-1,b.b) from (select count(*) as a from table_a) a,table_b b
这样是达到要求了。但我有个疑问:这样不是就执行了两次查询么?