用户表:uid name
1 a
2 b类型表:tid tname tp1 tp2
1 甲 a.gif b.gif
2 乙 c.gif d.gif数据表:cid cname uid tid
1 第一条 1 1
2 第二条 1 1
3 第三条 1 2
4 第四条 1 1文档表: did dname cid
1 文档1 1
2 文档2 1
3 文档3 2
4 文档4 2
5 文档5 1
一条数据里包含,数据类型(tid),数据的用户(uid),数据编号(cid),数据名(cname)文档的cid是那一条数据里的文档,是多个文档查数据表里的数据
查找用户 1 的数据 要显示数据名(cname) 类型名(tname) 用户名(uname) 类型图片(如果该数据有文档就是列tp1如果没有文档就是列tp2)
请问各位大哥该怎么实现这样的效果?
1 a
2 b类型表:tid tname tp1 tp2
1 甲 a.gif b.gif
2 乙 c.gif d.gif数据表:cid cname uid tid
1 第一条 1 1
2 第二条 1 1
3 第三条 1 2
4 第四条 1 1文档表: did dname cid
1 文档1 1
2 文档2 1
3 文档3 2
4 文档4 2
5 文档5 1
一条数据里包含,数据类型(tid),数据的用户(uid),数据编号(cid),数据名(cname)文档的cid是那一条数据里的文档,是多个文档查数据表里的数据
查找用户 1 的数据 要显示数据名(cname) 类型名(tname) 用户名(uname) 类型图片(如果该数据有文档就是列tp1如果没有文档就是列tp2)
请问各位大哥该怎么实现这样的效果?
from 类型表
(select tid,tname,(case case when tp1='' then tp2 end) context
from 类型表) t2
where uid='1'
and 数据表.tid=t2.tid
and 用户表.uid=数据表.uid
(select tid,tname,(case case when tp1='' then tp2 end) context
from 类型表) t2,数据表,用户表
where uid='1'
and 数据表.tid=t2.tid
and 用户表.uid=数据表.uid
from [user]A,type B ,data C LEFT OUTER JOIN doc D on C.cid=D.cid
where C.uid=A.uid and C.tid=B.tid
group by C.cname,A.uname,B.tname可以实现如下结果用户名 类型名 文档数量 数据名
a 甲 2 第二条
a 乙 0 第三条
a 甲 0 第四条
a 甲 3 第一条