请教个位专家,小弟刚接触数据库,遇到一个多表联合查询的问题不知道如果解决,请大家帮忙。在这里先谢谢了。
问题如下:
我有四张表:
表A (索引表)
no time
1 07-12-10
2 07-12-11
3 07-12-12 表B (数据表一)
no paramname paramvalue(整型)
1 a 10
1 b 11
1 c 12
2 a 11
2 d 30 表C (数据表二)
no paramname paramvalue(字符型)
2 e abc
2 f dafd
3 g adfdf
3 h d
3 e wsdf我要得到的结果是:
no time name value
1 07-12-10 a 10
1 07-12-10 b 11
1 07-12-10 c 12
2 07-12-11 a 11
2 07-12-11 d 30
2 07-12-11 e abc
2 07-12-11 f dafd
3 07-12-12 g adfdf
3 07-12-12 h d
3 07-12-12 e wsdf两个内容表中不同之处是参数值的类型不同,一个是整型,一个是字符型。
结果就是把两个“内容表”合并然后再和“索引表”联合。
请大家指教。谢谢。
问题如下:
我有四张表:
表A (索引表)
no time
1 07-12-10
2 07-12-11
3 07-12-12 表B (数据表一)
no paramname paramvalue(整型)
1 a 10
1 b 11
1 c 12
2 a 11
2 d 30 表C (数据表二)
no paramname paramvalue(字符型)
2 e abc
2 f dafd
3 g adfdf
3 h d
3 e wsdf我要得到的结果是:
no time name value
1 07-12-10 a 10
1 07-12-10 b 11
1 07-12-10 c 12
2 07-12-11 a 11
2 07-12-11 d 30
2 07-12-11 e abc
2 07-12-11 f dafd
3 07-12-12 g adfdf
3 07-12-12 h d
3 07-12-12 e wsdf两个内容表中不同之处是参数值的类型不同,一个是整型,一个是字符型。
结果就是把两个“内容表”合并然后再和“索引表”联合。
请大家指教。谢谢。
(
SELECT * FROM (
SELECT B.NO,B.PARAMNAME,TO_CHAR(B.PARAMVALUE) AS PARAMVALUE FROM B B
UNION SELECT C.NO,C.PARAMNAME,C.PARAMVALUE FROM C C))V LEFT JOIN A A ON V.NO=A.NOORDER BY NO,TIME,PARAMNAME,PARAMVALUE
thank you very much!