SQL code:
我需要这样的一个查询,它是由多个查询联合起来的。
TB表结构是这样的:
typeid,time,value1,value2,value3,value4
1,1,1,2,3,4
1,2,1,2,3,4
1,4,1,2,3,4
2,1,A,B,C,D
2,4,A,B,C,D
2,5,A,B,C,D
3,1,E,F,G,H
3,2,I,J,K,L
3,3,M,N,O,P
……
查询的结果是以time为关系列,列出其中的value如:
SLEECT TIME,VALUE1 from TB WHERE TYPEID=1
联合
SELECT TIME,VALUE1 from TB WHERE TYPEID=2
联合
SELECT TIME,VALUE1 from TB WHERE TYPEID=3
得到的结果应是这样的:
TIME,VALUE1_1,VALUE1_2,VALUE1_3
1 ,1 ,A ,E
2 ,1 ,'' ,''
3 ,'' ,'' ,M
4 ,1 ,A ,''
5 ,'' ,A ,''
其中TIME的数据肯定是1-999直接的数据,表示的是多少小时。可以先创建一个TIME表,填充1-999的TIME值,然后让每个查询都连接TIME表,然后再联合。
不知我说的您能理解吗,请帮我想想怎么处理!
就是多个查询用time列关联后组合成一个视图这样的一个需求。
没看懂
不明白,
天啊,胡老师别下线,我从新说明一下。
SQL code:
select time,
max(case typeid when 1 then value1 end) as VALUE1_1,
max(case typeid when 2 then value1 end) as VALUE1_2,
max(case typeid when 3 then value1 end) as VALUE1_3
from TB
group by time
就是有个表是这样的。
标识,时间(小时),值1,&nb
可能因为工作的原因 接触数据库这块比较少,之前都是做程序这块,数据库这块都有专门的人来做 分工都很明细 所以对数据库这一块完全不了解。前段时间 去面试了几家公司 几乎都是在数据库这块挂掉的 连个简单的SQ ......