mysql 嵌套查询,一个表的多个字段 作为另一个表的条件,若为空输出0,求高手

SELECT daan
FROM 表A a,表B a
WHERE daan=b.选项1 or daan =b.选项2

问题来了
若 从表A 查 表B的选项,daan为空,怎么输出0

0

4个回答

首先得搞明白select daan 就是这一列
为空,输出0属于计数,可以用函数
这两个并不能写一起

0

可以使用case when阿

SELECT case when rtrim(daan) ='' then 0 --此处我用rtrim来表示trim,你根据自己实际情况选用trim函数
ELSE daan END
FROM 表A a,表B a
WHERE daan=b.选项1 or daan =b.选项2

若有帮助还请采纳

0

忘了补充:
如果你只要输出一个0 那就加上这个 distinct处理下

0

提问就要把完整表结构贴上来阿

daan是表A的字段吗?

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
mysql以一张表的字段为条件查询另外一张表
试了好久,差点动用存储过程和触发器,然而项目不让写存储过程就很爆炸。 我的例子: 城市表,cityId,cityName,provinceId 任务表,taskId,region(这个就是城市代码字段) 要求: 根据省Id查询所有市,并且通过市id查询市下面任务数   SELECT city.cityName, (SELECT count(*) FROM task WHERE...
MySQL----一个表查询到的值作为条件查询同一个表的值
表简单结构 CREATE TABLE IF NOT EXISTS table_school( school_id smallint unsigned NOT NULL AUTO_INCREMENT COMMENT '校区id', city_pid smallint unsigned NOT NULL COMMENT '父级校区所在市id', school_name...
(子查询)MySql一个表查询到的值用做条件去另一个表查询
现在是这样的 我有两个表 表A和表B 我用company_id查询到表A的saas_id 然后用查询到的saas_id当做条件去表B查询 最后要拿到表B的数据   如果一个表一个表的查,要查两次,有点麻烦,这里我用到了子查询 SELECT ( SELECT pay_channel_id FROM B WHERE saas_id=st.saas_id AND pay_chan...
MySQL在一张表中的一对多如何查询
SELECT tel, GROUP_CONCAT( workno SEPARATOR ',' ) AS workno FROM test GROUP BY tel; 去除重复的workno SELECT tel, GROUP_CONCAT(DISTINCT workno SEPARATOR ',' ) AS workno FROM test GROUP BY ...
mysql 逗号分隔的字段当条件去in别的表
SELECT b.* FROM (SELECT * FROM m_channel_config WHERE channel_config_id = ‘600000288’) a LEFT JOIN m_sp_province_basic b ON FIND_IN_SET(b.id,a.provinces)
Mysql_嵌套表查询_查询结果作为子表(临时表)
此功能同Oracle一样!       许多人都觉得MySQL不支持嵌套查询,其实MySQl从4.11版后已经完全支持嵌套查询了,那么下面我举些简单的嵌套查询的例子吧(源程序来自MySQL User Manual):     1. SELECT语句的子查询:     语法: (注意:AS 可省略)   CODE: SELECT ... FROM (subque...
sql语句嵌套子查询将子查询结果作为表与其他表再联接查询
子查询 要用()括起来实例: info( uid,serv_id,app_id)user(uid,uname)app(id,name)这三个表中,info表的 serv_id 和app_id是对应app表的id,能通过serv_id 和app_id查到对应的app的name要求将info表的id字段转化为nameselect tmp.uname,tmp.servname,app.name as a
mysql模糊查找:一个表T2的某列数据,作为另一个表T1查找条件进行模糊查找
mysql模糊查找:一个表T2的某列数据,作为另一个表T1查找条件进行模糊查找 语法格式: SELECT 查找字段1,查找字段2,...   FROM   T1,T2   WHERE  T1.用来查找的列名  LIKE CONCAT('%',T2.用来作为模糊查找条件的列名,'%') 实例: SELECT ID,`Start`,`End`,Address FROM ipfinddb,nat
mysql一张表中两字段相减不为空的值存入另一张表中
t1表中有字段                                         要完成的效果                      t2 id   clickRate   oldClickRate  id        hits   articleId 1      10               5 1 5                  1 2       2
MYSQL:同一张表,根据判断条件,把某个字段的值批量赋值给另一个字段
有一个需求,同一张表A表,当状态为4的时间,需要把lastmodifytime的值赋值到finishtime,这是一个多对多的关系,在网上我也查询了和多写法,也实现了,但是很麻烦 比如: update A a,A b set a.FINISHTIME=b.LASTMODIFYTIME where a.TASKNO=b.TASKNO and a.TASKSTATUS=4; ...
MySQL基础(4)——子查询(嵌套查询)、联结表、组合查询
本篇主要整理查询表、联结表的相关内容。
联表查询,一个表的两个字段是另一个表的一个字段的值,如何去查
实际情况如下: 订单表orderid里保存的买家卖家都只是对应的用户表user里的ID,一开始的时候只是想到联表查询,拿到卖家或买家的名字,然后在用foreach查出另外一个对应的值,这样的效率太低,制造的垃圾代码也多. 如果要一次查出卖家和买家的名字,连接查询时,可以用订单表连接查询用户表两次,sql语句如下,其中hy_orderid是订单表,hy_user是用户表 select o.
mysql 从一个表复制几个字段到另一个表
insert into   t_a(`字段a`,`字段b`,`字段c`)    select  字段a,字段b,字段c  from t_b 这几个字段名称一定 要保持一致!
PostgresSQL将多条子查询的统计结果作为查询结果
SELECT (SELECT COUNT (*) FROM d_info WHERE type = 0) AS common_total_count, --0普通总数 (SELECT COUNT (*) FROM d_info WHERE type = 0 AND status = 0) AS common_offline_count,...
mysql在把子查询结果作为删除表中数据的条件,mysql不允许在子查询的同时删除原表数据
目标表和原表一致  MYSQL不支持如此操作 我们的一般思路就是,1、把子查询的结果创建临时表存储。2、把这个临时表作为原表删除的条件。3、删除临时表。 实例: 子查询: SELECT product_id from t_product_specification_value as tps WHERE NOT EXISTS(SELECT id from t_product p WHERE
mysql一个字段多个数据为null的情况下,按照另外一个字段排序
我们知道一个mysql字段为空的情况下,字段 asc null值是在最上方的,如果将null值置于最下方呢? 1.将null强制放在最前:     if(isnull(字段名),0,1) asc   //asc可以省略 2.将null强制放在最后     if(isnull(字段名),0,1) dsc        if(isnull(字段名),1,0)  asc   //asc可以省略...
mysql查询语句中,当查询的条件中提交的多个字段值为空时,我要查询出表中所有的内容,不为空查询限制条件结果
1.直接在java 中判断,分sql语句查询 2.通过appen() 函数拼接(根据具体情形转化)  
mysql必知必会--学习笔记(8)--子查询 where嵌套查询语句,作为计算字段使用子查询
1、子查询的查询过程一般是通过where中的in操作符来完成,in后面跟上一个子查询,通常in之前的列名和子查询查询出来的列名是一致的。例如select name from book where id in (select book_id from store where store.name = '新华';2、在 WHERE 子句中使用子查询能够编写出功能很强并且很灵活的SQL语句。对于能嵌套的...
mysql 查询表字段作为其中参数插入到另一表的存储过程
表 m_sp 中一个字段sp_id,关联另一个m_sp_k 表,B表是后期加的,导致m_sp_k 表中没有关联A表的历史数据,如下存储过程便是解决所述问题。 查询结果循环遍历,结果值作为新的参数插入新表中。 BEGIN declare done int default 0; declare relationId VARCHAR(32);  declare idCur cu
mysql 获取一个表不存在另一张表 where里加非的条件
SELECT i.*,a.* FROM internal as i  LEFT JOIN praise as a on a.userid=i.userid  WHERE i.`group`=101 and(a.tid is null or a.tid !=20);
mysql 根据一个表数据更新另一个表的某些字段
DROP TABLE IF EXISTS T_U_TEMPLATE;-- 模版表CREATE TABLE T_U_TEMPLATE (  ID                    INT NOT NULL AUTO_INCREMENT comment '模版表ID',  TEMPLATE_CODE         VARCHAR(50) BINARY comment '模版编码',  TEMPL...
mysql 合并两张无关联表数据,b表中有字段作为a表条件
今天遇到一个问题,就是a,b 两张表,本无外键关联关系,但是a表的某个字段,和b表的某个字段有数值上的关联关系。 举个栗子: table_a taID  minMoney  maxMoney 1            10                 100 2            100              1000 table_b tbID  mone
MySQL将表中的几个字段拼接成字符串再写入该表的另一个字段
比如说我们需要有一张表,5个字段,一个主键自增,三个已知字段,最后一个未知字段需要这三个字段进行拼接   col4便是我们需要拼接的字段   那么如何实现呢? 字符串的拼接使用concat() 用法:concat(field1,'-',field2,'-',field3)   然后我们可以先暂时将拼接的字符串存放在一张临时表中,然后再联合两个表进行字段更新: 注意:两张表需要...
mysql的存储过程查询多个数据库中多表满足条件的结果
要用mysql的存储过程查询5个database下100张表(每个database有100张表)下某天某个状态下的数量,每个database下的每个表查出来的数量要综合在一个变量中。 [size=xx-small][color=red]请求帮助!!!![/color][/size] 我写了个存储过程(只是对一个数据中100张表的),之后在程序中call这个存储过程。 但是很郁闷的是,...
mysql 从一个表的一个字段求和,更新到另外一个表及字符串截取、去重、切分
引子 现有一个需求:一个订单表,求这个订单表的订单数,然后根据id关联更新到另一个表中,下面说说的做法。 解决方法 首先查出都多少条订单,并去重一下 SELECT client_id, COUNT(1) as num FROM A GROUP BY ...
mysql将一张表中的符合条件的字段更新到另一张表中
假如要将B表中的字段更新到A表中 语句: update 库名.表A inner join(select 列a,列b from 表B) c on A.列名 = c.列名 set A.列名 = c.列名; 举例: update DB.rank inner join(select school_id,ch_name from school) c on rank.school_name = c.ch_na...
sql:当一列为空时取另一列(case when then)
select sbid, act_type from (select case when imei is null then idfa else imei end as sbid,act_type,act_time from rela_load where act_type=52 or act_type=54 or act_type=55 or act_type=56 or act_type=57
mysql查询时两个字段分组查询后依据一个字段行转列做报表样式
第一次写博客,直接上干货,在工作时遇到要做一个报表,数据时从一个表中的不同车辆类型和不同的支付方式统计,要求样式如下:但是一条记录中只有一个车型对应一个支付方式和车辆类型关联的id,直接上表吧:-- CREATE TABLE `parking_user_order` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `logistics_park_code` va...
mysql通过关联修改表中两个字段的值
update A set a_field= (select realname from B where A.extension=B.extension and B.extension <> '') update A a inner join B b on a.extension=b.extension and a.extension <> '' set ...
oracle 用一个表的多个字段更新另一个表对应的多个字段
update wx_weather a set (a.high_l,a.low_l)= (select high_l, low_l from wx_original_weather b where a.date_l=b.date_l)   where a.date_l in (SELECT date_l from wx_original_weather)
mysql 同一个字段作为条件更新
mysql 更新一个字段的值且这个字段作为条件是,会报  Truncated incorrect DOUBLE value: '*********' 错误              例如:UPDATE admin_user SET active_time='2016-11-23'  WHERE admin_id !=1 AND active_time=0;              activ
mysql update 将一个表某字段设为另一个表某字段的值
来源: http://blog.csdn.net/madmk/article/details/72420641 表新添加了一个字段,毫无疑问是空值。所以想将另一个表的某个字段的值写入到修改的表中。 sql语句不复杂,但还是记录一下,因为也查了一会,以后说不定还会用到。 mysql> update center_actionlog0033 A,center_traceflownode0
mysql中两个字段 同时like模糊查询
项目中出现一个查询 要求前端出入一个字段;同时匹配数据库中两个字段. 通过mysql中提供的方法.: CONCAT(U.LASTNAME,U.FIRSTNAME)
Mysql中一个表的外键是另一个表的主键是否会影响
一共有三张表 room表中的id作为父表的主键,另外两个表中的r_id作为子表的外键 并且给room表的id设置了字段增加的属性。 通过SHOW CREATE TABLE room;可以读到当前AUTO_INCREMENT的值 问题在于: 对于room表自增的id,如果说,子表当中希望1个id对应多个label。 对于room表中自增的id是
将WHERE条件写到属性中(对同一个关系集合的多次查询到结果集为一张表)
例:需求:根据A表的属性a的值为'1'、'2',分别查出COUNT(*)的结果集,将其左右合并。SELECT COUNT( CASE WHEN a = '1' THEN * END ) a1, COUNT( CASE WHEN a = '2' THEN * ...
sql 中一个表设置两个主键是 将两个字段联合起来设置为主键 一个表只能有一个主键
CREATE TABLE orderitems ( order_num int(11) NOT NULL, order_item int(11) NOT NULL, prod_id char(10) NOT NULL, quantity int(11) NOT NULL, item_price decimal(8,2) NOT NULL, PRIMARY KEY (order_num,orde...
mysql 中update 把一个数据集中的某些字段的值批量更新到另一个表中。
-- 添加开票时  把开票中的票据类型赋值到收费计划中的票据类型字段 update sfjh a inner join (select c.contract_id,c.bill_type from kp c where c.id='#{id}') b on a.contract_id = b.contract_id set a.bill_type = b.bill_type  ...
MySql 从一张表查询的数据赋值给另外一张表的字段(MySQL Update Query using a left join)
举栗: 我们的用户积分出现重复数据,然后我们要把重复数据删除掉,重新计算用户总积分,假设所有积分都是增加的积分。 用户积分表test_user_points 用户iduser_id 用户积分总数point_count 积分记录表test_point_log 用户iduser_id 用户积分总数point SQL: UPDATE test_user_points AS a LE...
mysql根据查询条件去修改另一张表
mysql根据查询条件去修改另一张表 需求1:查询条件是表A 修改的是表A (单表) 需求2:查询条件是表A 修改的是表B 把表A中的值复制给表B (多表) 在mysql中是不允许先select  后update的,所以这里给出的方案是创建中间表 具体看如下代码: update 表B set status = 0 where fid = ( select a.fid from
mysql将一个表的字段更新到另一个表中
mysql将一个表的字段更新到另一个表中