首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

求大侠帮小弟我写一条sql语句啊小弟我想了半天了

2012-08-11 
求大侠帮我写一条sql语句啊,我想了半天了,求助三张表,一张user_profile用户表,user_manage上下级管理表,we

求大侠帮我写一条sql语句啊,我想了半天了,求助
三张表,
一张user_profile用户表,
user_manage上下级管理表,
weekly_report用户周报表,
user_manage里面的两个字段都是user_profile里面的id,
weekl_report里面有个user_profile的id字段,
查询出user_manage里面的当前管理者的下级的周报,也要查出当前管理者自己的周报

user_profile的user_oid是主键
mysql> desc user_profile;
+----------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+---------------+------+-----+---------+-------+
| USER_OID | decimal(38,0) | NO | PRI | NULL | |
| USER_NAME | varchar(50) | NO | | NULL | |
| DISPLAY_NAME | varchar(50) | NO | | NULL | |
| LOGIN_ID | varchar(20) | NO | | NULL | |
| LOGIN_PASSWORD | varchar(150) | NO | | NULL | |
| EMAIL | varchar(100) | NO | | NULL | |
| IS_ACTIVE | char(1) | NO | | NULL | |
| CREATE_DATE | datetime | NO | | NULL | |
| UPDATE_DATE | datetime | YES | | NULL | |
| ACTOR | varchar(20) | NO | | NULL | |
| ACTION_TYPE | varchar(20) | NO | | NULL | |
| ACTION_DATE | datetime | NO | | NULL | |
+----------------+---------------+------+-----+---------+-------+
12 rows in set (0.02 sec)


user_manage里面的manage_user与employee_user都是user_profile里面的主键
mysql> desc user_manage;
+---------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+---------------+------+-----+---------+-------+
| MANAGER_USER | decimal(38,0) | NO | MUL | NULL | |
| EMPLOYEE_USER | decimal(38,0) | NO | MUL | NULL | |
+---------------+---------------+------+-----+---------+-------+
2 rows in set (0.02 sec)


weekly_reprot里面的reprot_oid是主键,user_oid是user_profile里面的主键
mysql> desc weekly_report;
+-------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| REPORT_OID | decimal(38,0) | NO | PRI | NULL | |
| REPORT_NAME | varchar(100) | NO | | NULL | |
| FROM_DATE | datetime | NO | | NULL | |
| END_DATE | datetime | NO | | NULL | |
| USER_OID | decimal(38,0) | NO | MUL | NULL | |
| CTRL_STATUS | char(1) | NO | | NULL | |
| CREATE_DATE | datetime | NO | | NULL | |
| UPDATE_DATE | datetime | YES | | NULL | |
| ACTOR | varchar(32) | NO | | NULL | |
| ACTION_TYPE | varchar(20) | NO | | NULL | |
| ACTION_DATE | datetime | NO | | NULL | |
+-------------+---------------+------+-----+---------+-------+
11 rows in set (0.03 sec)

[解决办法]
你这个当前管理者是一个输入吗?就当是一个需要输入的值吧。另外你这个问题是要一个语句查出还是分两个语句做?
你参考一下:

查询出 user_manage里面的当前管理者的下级的周报:

SQL code
select T1.* from weekly_report as T1 left join user_manage as T2on T1.user_oid = T2.employee_userwhere T2.manage_user = <当前管理者的ID> 

热点排行