帮改个Sql语句问题,谢谢

骑着蜗牛慢慢跑 2013-09-22 10:01:57
SELECT id,name FROM tb_category WHERE (id = 11) OR (id = (SELECT fid FROM tb_category AS b_category_1 WHERE (id = 322))) AND (fid = 11) OR (id = 322) 我想要的是 第一页显示的是id 322的那个,不要316的。
...全文
190 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
momoxsy 2013-09-22
  • 打赏
  • 举报
回复
你这个是查询tb_category表的id=322并且fid=11或者id=11或者id=322,and的优先级比or高,想控制需要加()
  • 打赏
  • 举报
回复
引用 4 楼 guguda2008 的回复:
SELECT id,name FROM tb_category WHERE id = 11 OR id = (SELECT fid FROM tb_category AS b_category_1 WHERE id = 322) AND fid = 11 OR id = 322 只给你把语句简化了一下,你先自己看清楚这个逻辑对不对,AND和OR不加括号混用是本意吗
你的语句查询结果和我测试结果是一样的。
  • 打赏
  • 举报
回复
引用 2 楼 yangsh0722 的回复:
贴出你的数据,还有你的结果
上面有图啊,我的测试结果贴在上面了。
  • 打赏
  • 举报
回复
引用 3 楼 wszhongwen 的回复:
SELECT id,name FROM tb_category WHERE 
(id = 11) OR


 (
 	
 	
 	
 	id = (
 		
 		
 		SELECT fid FROM tb_category AS b_category_1 WHERE   (id = 322)
 	
 	)
  AND (fid = 11))
 	
 	
 	
 	
 	 OR (id = 322)
你这个测试查询的结果和我那个是一样的啊。
guguda2008 2013-09-22
  • 打赏
  • 举报
回复
SELECT id,name FROM tb_category WHERE id = 11 OR id = (SELECT fid FROM tb_category AS b_category_1 WHERE id = 322) AND fid = 11 OR id = 322 只给你把语句简化了一下,你先自己看清楚这个逻辑对不对,AND和OR不加括号混用是本意吗
奔四在望 2013-09-22
  • 打赏
  • 举报
回复
SELECT id,name FROM tb_category WHERE 
(id = 11) OR


 (
 	
 	
 	
 	id = (
 		
 		
 		SELECT fid FROM tb_category AS b_category_1 WHERE   (id = 322)
 	
 	)
  AND (fid = 11))
 	
 	
 	
 	
 	 OR (id = 322)
-Tracy-McGrady- 2013-09-22
  • 打赏
  • 举报
回复
贴出你的数据,还有你的结果
  • 打赏
  • 举报
回复
在线等,谢谢

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧