因老总坚持把不同用户用不同的表分开:
管理员 表名:admin
字段 id,name客户 表名:custor
字段 id,name现在有个产品表需要存储用户信息
表名:product
字段 id,UserTableName,UserID,productname
UserTableName存储"admin"或者"custor"
UserID存储用户表的ID号
现在要根据用户名称来查询两个产品表里面纪录,请教大家能不能给写个视图或者存储过程,谢谢大家了!!
管理员 表名:admin
字段 id,name客户 表名:custor
字段 id,name现在有个产品表需要存储用户信息
表名:product
字段 id,UserTableName,UserID,productname
UserTableName存储"admin"或者"custor"
UserID存储用户表的ID号
现在要根据用户名称来查询两个产品表里面纪录,请教大家能不能给写个视图或者存储过程,谢谢大家了!!
union all
select id,UserTableName,UserID,productname from product where UserTableName='custor' and UserID=?
select id,UserTableName,UserID,productname from product where UserTableName='custor'
left join
(select id,'admin' UserTableName,name from admin
union
select id,'custor' UserTableName,name from custor) as tbUser
on product.UserTableName=tbUser.UserTableName
and product.UserID=tbUser.id
and name=''
id,name
1 张三
2 李四
3 王五客户表 custor
id name
1 王二写几条产品表的纪录
id,UserTableName,UserID,productname
1 admin 1 基金1 (张三提交的数据)
2 custor 1 基金2 (王二提交的数据)
3 admin 2 基金3 (李四提交的数据)
4 admin 3 基金4 (王五提交的数据)
5 admin 1 基金5 (张三提交的数据)现在想根据“张三”查出下面的数据
1 admin 1 基金1
5 admin 1 基金5 谢谢!!
left join
(select id,'admin' UserTableName,name from admin
union
select id,'custor' UserTableName,name from custor) as tbUser
on product.UserTableName=tbUser.UserTableName
and product.UserID=tbUser.id
and name=''
select * from product
left join
(select id,'admin' UserTableName,name from admin
union
select id,'custor' UserTableName,name from custor) as tbUser
on product.UserTableName=tbUser.UserTableName
and product.UserID=tbUser.id
where name='张三'
select id,'admin' UserTableName,name from admin
union
select id,'custor' UserTableName,name from custor
这段保存为视图,因为经常用到这个,但是好像不行,提示“视图中没有输出列或者from字句中没有输出项目”,不知道为什么
select id,'admin' UserTableName,name from admin
union
select id,'custor' UserTableName,name from custor