关于一条SQL查询命令,大虾请帮忙!
有2个数据库
其中数据库1 中的 表USER 为用户注册表 包含字段 ABC(ABC为可重复的附加信息字段)
USER表如:
USERID PASSWORD ABC
数据库2 中 表 USERCHARS 为用户注册后所创建的角色
USERCHARS如:
USERID(注册的用户名) jiaose1 jiaose2 jiaose3 (可创建3个角色)
数据库2 中 表 USERGAME
USERGAME如:
jiaosename(创建的角色名字) shuxing(角色属性)
现在的问题是 我如何使用SQL语句进行查询
当USER表中一个注册用户的 附加信息为 ABC 内容为:112233
怎么才可以知道在数据库1表USER里有112233这个附加信息的注册用户所创建的角色并且他的shuxing(角色属性)是大于100的 角色一个有几个?
请教大虾怎么写?
小D 谢过
100分拿去
[解决办法]
try
Select
A.USERID,
(Select Count(*) From USERGAME Where jiaosename = B.jiaose1 And shuxing > 100) +
(Select Count(*) From USERGAME Where jiaosename = B.jiaose2 And shuxing > 100) +
(Select Count(*) From USERGAME Where jiaosename = B.jiaose3 And shuxing > 100)
As [大于100的角色]
From
[USER] A
Inner Join
USERCHARS B
On A.USERID = B.USERID
[解决办法]
select USERCHARS.USERID,
count(a.jiaosename)+count(b.jiaosename)+count(c.jiaosename) as total
from USERCHARS
inner join [USER] on [USER].USERID = USERCHARS.USERID
left join USERGAME a on a.jiaosename=USERCHARS.jiaose1 and shuxing > 100
left join USERGAME b on b.jiaosename=USERCHARS.jiaose2 and shuxing > 100
left join USERGAME c on c.jiaosename=USERCHARS.jiaose3 and shuxing > 100
where [USER].ABC= '112233 '
group by USERCHARS.USERID