Mysql,从2个表创建一个视图

时间:2018-02-14 09:40:06

标签: mysql

使用mysql,我需要一些帮助来使用2个不同的表创建视图,如下所示:

Table1是项目的监听。 表2是标准类型列表

输出就像(在php风格中只是为了给出一个想法):

|---items--|---description----|---types---|
|----------|------------------|-----------|
|item1     | desc1            |  type1    |
|item2     | desc2            |  type1    |
|item3     | desc3            |  type2    |
|item4     | desc4            |  type2    |
|item5     | desc5            |  type3    |

表1 :( pkey是项目编号)

|---types--|---paras--|---description---|
|----------|----------|-----------------|
|type1     |paraA     | desA            |
|type1     |paraB     | desB            |
|type1     |paraC     | desC            |
|type1     |paraD     | desD            |
|type2     |paraA     | desA            |
|type2     |paraB     | desB            |
|type2     |paraC     | desC            |
|type3     |paraA     | desA            |

表2 :( Pkey是整数自动增量(未在表2中表示))

|---items--|---types--|---paras---|---description----|
|----------|----------|-----------|------------------|
|item1     |type1     |para1A     | desc1 : des1A    |
|item1     |type1     |para1B     | desc1 : des1B    |
|item1     |type1     |para1C     | desc1 : des1C    |
|item1     |type1     |para1D     | desc1 : des1D    |
|item2     |type1     |para1A     | desc2 : des1A    |
|item2     |type1     |para1B     | desc2 : des1B    |
|item2     |type1     |para1C     | desc2 : des1C    |
|item2     |type1     |para1D     | desc2 : des1D    |
|item3     |type2     |para2A     | desc3 : des2A    |
|item3     |type2     |para2B     | desc3 : des2B    |
|item3     |type2     |para2C     | desc3 : des2C    |
|item4     |type2     |para2A     | desc4 : des2A    |
|item4     |type2     |para2B     | desc4 : des2B    |
|item4     |type2     |para2C     | desc4 : des2C    |
|item5     |type3     |para3a     | desc5 : des3A    |

预期输出应该是:

{{1}}

所以我想要一个mysql解决方案来创建一个视图。

谢谢:)

2 个答案:

答案 0 :(得分:0)

只需使用View和Join查询的组合即可获得输出。 例如 表1:员工 | --- empid-- | ---名字---------- | --- DEPTNO --- | | ---------- | ------------------ | ----------- |

表2:部门 | --- dpid-- | ---名------------ | --- DNAME --- | | ---------- | ------------------ | ----------- |

查询将类似于

创建视图[viewname]作为select * from Employee join Department on Employee.deptno = Department.dpid;

部门表的dpid主键 deptno是外键

对不起,如果我错了,只是想帮忙 谢谢

答案 1 :(得分:0)

如果是您要查找的查询,则基本上使用JOIN

完成
SELECT t1.items,t1.types,t2.paras,concat(t1.description,' : ',t2.description) AS description 
FROM table1 t1 LEFT JOIN table2 t2 ON t1.types=t2.types;