2 baidu 32457989 baidu_32457989 于 2016.01.18 14:22 提问

mysql多个条件分列显示的问题

SELECT dir3.url from dir3 LEFT JOIN dir4 on dir4.url=dir3.url where dir4.id is null or dir3.md5<>dir4.md5 and dir3.inputtime=1453086000

现在这条语句,把两个条件的结果都显示在一列
因为我需要分开处理,所以希望能改成两列显示
SELECT dir3.url from dir3 LEFT JOIN dir4 on dir4.url=dir3.url where dir4.id is null and dir3.inputtime=1453086000为一列
SELECT dir3.url from dir3 LEFT JOIN dir4 on dir4.url=dir3.url dir3.md5<>dir4.md5 and dir3.inputtime=1453086000为一列
希望大神帮忙,在线等

2个回答

danielinbiti
danielinbiti   Ds   Rxr 2016.01.18 14:25
已采纳
 SELECT dir3.url as url1,'' as url2 from dir3 LEFT JOIN dir4 on dir4.url=dir3.url where dir4.id is null and dir3.inputtime=1453086000
 union all
 SELECT '' as url1,dir3.url as url2 from dir3 LEFT JOIN dir4 on dir4.url=dir3.url dir3.md5<>dir4.md5 and dir3.inputtime=1453086000
baidu_32457989
baidu_32457989 大神,还有问题,我刚试了一下,现在是差不多了,分成了两列,但是第二列的结果是在第一列结果之后显示了,如我第一列有100条记录,那么第二条就是从101条开始显示,前面全是空,能否再帮忙修改一下,多谢
2 年多之前 回复
danielinbiti
danielinbiti   Ds   Rxr 2016.01.18 14:45
 SELECT group_concat(url1 separator ''),group_concat(url2) FROM (
SELECT @CNT:=@CNT+1 rownum,dir3.url as url1,'' as url2 from dir3 LEFT JOIN dir4 on dir4.url=dir3.url where dir4.id is null and dir3.inputtime=1453086000,(select @cnt:=0) r
 union all
 SELECT @CNT1:=@CNT1+1 rownum,'' as url1,dir3.url as url2 from dir3 LEFT JOIN dir4 on dir4.url=dir3.url dir3.md5<>dir4.md5 and dir3.inputtime=1453086000,(select @cnt1:=0) r1
 ) A group by rownum
baidu_32457989
baidu_32457989 回复danielinbiti: 我是在c语言里面用,既然弄不成一条我就只能分成两条写了,只是怕数据多了会影响速度,但是看你写这么麻烦,我觉得就是写出来了可能也不如分成两条快了。其实我不懂sql,多谢大师
2 年多之前 回复
danielinbiti
danielinbiti 回复baidu_32457989: 不行改成存储过程或者函数
2 年多之前 回复
baidu_32457989
baidu_32457989 唉,还是用不了,多谢了,麻烦你了
2 年多之前 回复
danielinbiti
danielinbiti 回复baidu_32457989: 可能是navicat原因,把union all两侧的sql再包装一下select * from (内容)
2 年多之前 回复
baidu_32457989
baidu_32457989 回复danielinbiti: 加上了,可是看错误,还没检查到那,在union就报错了,加上之后还是这个错误,多谢多谢
2 年多之前 回复
danielinbiti
danielinbiti 回复baidu_32457989: 原句中 dir4.url=dir3.url dir3.md 这之间少了一个where吧
2 年多之前 回复
baidu_32457989
baidu_32457989 回复danielinbiti: [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'union all SELECT @CNT1:=@CNT1+1 rownum,'' as url1,dir3.url as url2 from dir3 LEF' at line 2,是哪个navicat,因为我需要用c语言分别处理这两列数据,所以还希望大神再麻烦一些,多谢了
2 年多之前 回复
danielinbiti
danielinbiti 回复baidu_32457989: 什么错呀?是拿客户端工具试的SQL吗
2 年多之前 回复
baidu_32457989
baidu_32457989 不好意思啊,提示有错误,在union all 附近
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
SQL 结果集分列显示实例
<br />----------------------------------------------------------------------------------<br />-- Author : htl258(Tony)<br />-- Date   : 2010-07-06 21:13:04<br />-- Version: Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86) <br />--          Jul  9
网页中<li>分列显示
.my ul { width: 410px; } .my li { width: 200px; /*如果显示三列 则width改为70px*/ float: left; display: block; } 金鳞岂是池中物 一遇风云便化龙 九霄龙吟惊天变 风云际会潜水游 那些花儿 那些花儿 如果显示的文字多而换行显示了,就调节宽度
【mysql】根据不同条件查询表中同一字段
需求:需要在一张表中,查询某个店铺05-17和05-10两天的同一个GMV字段数据遇到问题:在测试过程中发现,如果两天中任意一天没有数据,则该店铺整体数据均不显示解决代码:SELECT a.Seller_nick, IFNULL(a.GMV, 0), IFNULL(b.GMV, 0) AS last_gmv FROM ( SELECT
mysql 导出指定列到文件
直接在-e 里面执行你要的sql语句最后的cans
mysql查询:同一个字段满足多个条件的对应字段
比如查找patient_id,对应的code_id分别等于1,2,3 select distinct patient_id from qs_patient_code WHERE code_id = 1 or code_id = 3 or code_id = 2 GROUP BY patient_id HAVING count(*)>=3
MySQL:WHERE后跟多个条件
我这里将来解决如何在MySQL执行update,delete等需要查询的语句,最后限制where后跟多个条件的问题。比如,我现在在数据库当中有如下一张表。当我想要更新name为”louyujing”,type为1的string当中的内容,就可以通过以下语句进行更新。update tb set string='helloworld' where name='louyujing' and type='1
mysql join的on条件内 可以带and建立多条件join
mysql join on 可以带and,例如: select * from (select id,realname from `user` where id=157) a left join `crm_customer2user` cu on a.id=cu.userId a
mysql一条sql查出多个条件不同的sum或count
最近做java后台遇到很多问题记录一下,有个需求是在一条sql中同时统计到几条条件不一样的sql或count,希望能帮助到需要的朋友,上代码和效果图: select  sum(pzgwjscd) as allJsgm,sbjh.nd as nd,  ( select sum(pzgwjscd) from fm_jh_ws_ptgw ptgw left join fm_sb_jh sbjh o
msyql left join on 后面多个条件
即使你认为自己已对 MySQL 的 LEFT JOIN 理解深刻,但我敢打赌,这篇文章肯定能让你学会点东西! ON 子句与 WHERE 子句的不同一种更好地理解带有 WHERE ... IS NULL 子句的复杂匹配条件的简单方法 Matching-Conditions 与 Where-conditions 的不同 关于 “A LEFT JOIN B ON 条件表达式” 的一点提醒
mysql like子句 多条件查询
mysql语句: SELECT * FROM pb_vip_consumes_table WHERE `NAME` LIKE "%无微信名" AND WXID=23 ORDER BY TIME DESC 语句模板: SELECT * FROM 表名 WHERE `字段名` LIKE "%要搜索的元字符" AND 字段名=23 ORDER BY 字段名 DESC 解释: *查询所有