这个SQL语句是怎么回事?
select * from Authority
select * from role
select * from Authority a,role b where a.roleid=b.roleid
运行结果如下:
AuID HumanID RoleID
----------- ------------------ --------------------
1 sys VehicleYWY
2 sys SYSM
3 sxl VehicleYWY
4 sxl FittingYWY
5 sxl Teller
6 sxl Account
7 sxl GPY
8 sxl BGY
9 sxl SYSM
10 sxl BankXDY
11 sxl InfoSend
12 sxl Director
13 BGY BGY
(13 row(s) affected)
RoleID RoleName
-------------------- --------------------------------------------------
VehicleYWY 整车销售部业务员
FittingYWY 配件销售部业务员
Teller 出纳
Account 会计
GPY 挂牌员
BGY 保管员
SYSM 系统管理员
BankXDY 银行信贷员
InfoSend 信息发送
Director 经手人,主管
(10 row(s) affected)
AuID HumanID RoleID RoleID RoleName
----------- ------------------ -------------------- -------------------- --------------------------------------------------
1 sys VehicleYWY VehicleYWY 整车销售部业务员
3 sxl VehicleYWY VehicleYWY 整车销售部业务员
13 BGY BGY BGY 保管员
(3 row(s) affected)
第三条sql语句怎么只返回三条纪录?
我觉得应该返回13条
请高手分析!!
问题点数:50、回复次数:7Top
1 楼zhuzhichao(竹之草)回复于 2001-08-21 17:49:38 得分 0
select * from Authority a left join role b on(a.roleid=b.roleid)
看看.
Top
2 楼fsb_12345(myself)回复于 2001-08-21 17:54:43 得分 5
select a.RoleID , b.RoleName ... from Authority a,role b where a.roleid=b.roleid
看看
Top
3 楼sunxiaoli(曾经沧海)回复于 2001-08-22 09:14:52 得分 0
TO:fsb_12345(myself) 结果还是这样
RoleID RoleName
VehicleYWY 整车销售部业务员
VehicleYWY 整车销售部业务员
BGY 保管员
(3 row(s) affected)
Top
4 楼sunxiaoli(曾经沧海)回复于 2001-08-22 09:18:25 得分 0
TO: zhuzhichao(竹之草)
AuID HumanID RoleID RoleID RoleName
----------- ------------------ -------------------- -------------------- --------------------------------------------------
1 sys VehicleYWY VehicleYWY 整车销售部业务员
2 sys SYSM NULL NULL
3 sxl VehicleYWY VehicleYWY 整车销售部业务员
4 sxl FittingYWY NULL NULL
5 sxl Teller NULL NULL
6 sxl Account NULL NULL
7 sxl GPY NULL NULL
8 sxl BGY NULL NULL
9 sxl SYSM NULL NULL
10 sxl BankXDY NULL NULL
11 sxl InfoSend NULL NULL
12 sxl Director NULL NULL
13 BGY BGY BGY 保管员
(13 row(s) affected)
可是我想要的RoleName没有出来
Top
5 楼zhuzhichao(竹之草)回复于 2001-08-22 09:54:47 得分 0
注意大小寫和字段類型問題.Top
6 楼zhuzhichao(竹之草)回复于 2001-08-22 10:01:18 得分 45
兩個RoleID中一個有值,一個為null
要麼表示兩個RoleID的值不一樣!
要麼就是字段類型不匹配.
這樣看看:
select * from Authority a left join role b on(ltrim(rtrim(a.roleid))=ltrim(rtrim(b.roleid)));
如果還是不行就注意大小寫了.
Top
7 楼sunxiaoli(曾经沧海)回复于 2001-08-22 13:21:29 得分 0
谢了,松分了Top




