这个根本就是楼主考虑错了:
http://topic.csdn.net/u/20111130/13/57f573ba-c4fe-41ce-9e58-5fce569e17ac.html
这个楼主居然用一组错误的数据去验证:
http://topic.csdn.net/u/20111202/15/74e9cf2c-60c8-407d-b4a3-08ae2228eb73.html
------解决方案--------------------
淡定
------解决方案--------------------
这么多年了,还不习惯吗
------解决方案--------------------
支持,我们这等小菜还靠各位大牛指导呢
------解决方案--------------------
淡定淡定
------解决方案--------------------
------解决方案--------------------
不要拿别人的错误 惩罚自己~~
------解决方案--------------------
晴天不要太较真了,习惯就不是问题了,很悲哀哈!
------解决方案--------------------
------解决方案--------------------
我是来接分的.
------解决方案--------------------
接分.
------解决方案--------------------
做技术的,有人说你是错的也未尝不是一件好事!
------解决方案--------------------
楼主 来调戏下 ......
------解决方案--------------------
呵呵,两个帖子都看了下,aa='11' or (aa<>'11' and bb='22') 和 aa='11' or bb='22' 并不等价,如果 aa='11',同时 bb='22的情况下,你的结果是 select * from t where bb='22' union select * from t where aa='11',or 条件不是 只有当 a<>11 时,才会去比较 b=22,
关于第二个帖子,好好思考下 你的这个语句 when parent_id>0 then parent_id+(select max(id) from tb) 吧,
新的 parent_id 是指向父类的id的,而不是 parent_id
------解决方案--------------------
- SQL code
declare @T table (aa varchar(2),bb varchar(2))insert into @Tselect '11','22' union allselect '00','22' union allselect '22','00' union allselect '22','11'DECLARE @aa VARCHAR(4)SET @aa='11'select * from @T WHERE aa='11' OR bb='22'/*aa bb---- ----11 2200 22 --楼主的意思是aa='11'的时候结果中不含有这条*/
------解决方案--------------------
你开始也没说太清楚啊..蛋定..
------解决方案--------------------
JF...............
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
蛋定
------解决方案--------------------
------解决方案--------------------
这是很符合现实黑色规律的。临近年末,开发项目多了,招人需要多了,也因此混进来很多滥竽充数,极其缺乏基础的二百五,所以问问题也多,听了不明白也多。