Sql=“SELECT a.grid_code as 区号,a.worker_id AS 工作ID,b.name AS 姓名 , count(*) as 数量 from collection a , user b where a.grid_code=1 or a.grid_code= 2 and a.worker_id = b.worker_id group by a.grid_code,a.WORKER_ID order by 区号,数量”
这是我的查询语句,当where a.grid_code=1时就能正常查询,当加上or a.grid_code= 2 时,姓名那一栏除了我最后点击的那个"grid_code"外,全部都是user表中第一条记录的姓名。但是,id是对的。是正常的。例如:
当只有一个grid_code时 :
区号 id 姓名 数量
1 1 aaa 25
1 8 bbb 35
1 12 ccc 68当有两个以上grid_code时 :
区号 id 姓名 数量
1 1 aaa 25
1 8 aaa 35
1 12 aaa 68
2 5 aaa 65
2 8 aaa 89
3 8 www 123
3 2 sss 154这到底是什么原因,请高手指点。谢谢!
这是我的查询语句,当where a.grid_code=1时就能正常查询,当加上or a.grid_code= 2 时,姓名那一栏除了我最后点击的那个"grid_code"外,全部都是user表中第一条记录的姓名。但是,id是对的。是正常的。例如:
当只有一个grid_code时 :
区号 id 姓名 数量
1 1 aaa 25
1 8 bbb 35
1 12 ccc 68当有两个以上grid_code时 :
区号 id 姓名 数量
1 1 aaa 25
1 8 aaa 35
1 12 aaa 68
2 5 aaa 65
2 8 aaa 89
3 8 www 123
3 2 sss 154这到底是什么原因,请高手指点。谢谢!
from collection a inner join user b on a.worker_id = b.worker_id where a.grid_code=1 or a.grid_code= 2
from collection a inner join user b on a.worker_id = b.worker_id where a.grid_code=1 or a.grid_code= 2
我按照你说的改了一下,可以了,谢谢,能告诉我为什么会这样吗?