日期:2014-05-16  浏览次数:21024 次

两个数据表T1,T2连合查询的问题
T1表(帐号表):
userid(主键) username groupid
1 test1 1
2 test2 1
3 test3 1
4 test4 3
补充说明,groupid为1,就是普通帐号,为3时为中介帐号.

T2表(资料表):
id(主键) userid truename
1 1 test1
2 2 test2
3 3 test3
4 4 medium1
5 4 medium2
6 4 medium3

T3表(找工表)
id(主键) userid title infoid(对应T2表中的id字段)
1 1 work1 1
2 2 work2 2
3 3 work3 3
4 4 mediumWork1 4
5 4 mediumWork2 5
6 4 mediumWork3 6

普通帐号只能添加一条工作记录,中介可以添加好多找工记录.每个找工记录都有对应的资料记录

现在我的问题是,如何一句SQL语句,查询得出普通会员的记录.如下格式:
userid(主键) username groupid truename
1 test1 1 test1
2 test2 1 test2
3 test3 1 test3

我这样查询:
select T1.*,(select truename from T2 where T2.userid=T1.userid) as truename from T1 where T1.groupid =1
mysql马上卡住了.
请问要怎样写语句?

------解决方案--------------------
不需要创建主键为这个字段,一个普通索引即可。
create index xx on T2(userid);