Php 将两个查询合并到一个视图中
我有这张桌子: 表S_文本:Php 将两个查询合并到一个视图中,php,mysql,view,Php,Mysql,View,我有这张桌子: 表S_文本: PS_TEXT S_TEXT S_REGION D_TABLE D_COLUMN D_TEXT 1 1 1 Table1 Column1 2 1 1 Table1 Column1 Hello 3 2
PS_TEXT S_TEXT S_REGION D_TABLE D_COLUMN D_TEXT
1 1 1 Table1 Column1
2 1 1 Table1 Column1 Hello
3 2 2 Table1 Column1
4 2 2 Table1 Column1 Hallo
5 3 3 Table1 Column1
6 3 3 Table1 Column1 Hi
然后,我使用此视图删除所有历史双精度:
CREATE OR REPLACE VIEW `VHS_TEXT`
AS SELECT
`S_TEXT`.`PS_TEXT`,
`S_TEXT`.`S_TEXT`,
`S_TEXT`.`S_REGION`,
`S_TEXT`.`D_TABLE`,
`S_TEXT`.`D_COLUMN`,
`S_TEXT`.`D_TEXT`
FROM
`S_TEXT` LEFT JOIN
`S_TEXT` AS `t2`
ON (
`S_TEXT`.`S_TEXT` = `t2`.`S_TEXT` AND `S_TEXT`.`PS_TEXT` < `t2`.`PS_TEXT`
)
WHERE
`t2`.`PS_TEXT` IS NULL;
然后,我有这个查询来显示是否在区域2中进行了更近期的更改:
SELECT `VHS_TEXT`.*, (CASE WHEN k.`PS_TEXT` > `VHS_TEXT`.`PS_TEXT` THEN 2 ELSE 0 END) AS `CHANGED`
FROM `VHS_TEXT` LEFT JOIN
`VHS_TEXT` AS k
ON
(
`VHS_TEXT`.`D_TABLE` = k.`D_TABLE`
AND `VHS_TEXT`.`D_COLUMN` = k.`D_COLUMN`
AND k.`S_REGION` = 2
)
结果:
PS_TEXT S_TEXT S_REGION D_TABLE D_COLUMN D_TEXT CHANGED
2 1 1 Table1 Column1 Hello 2
4 2 2 Table1 Column1 Hallo 0
6 3 3 Table1 Column1 Hi 0
我希望将查询构建到视图VHS_文本本身中,以获得查询的samme结果,如下所示:
SELECT * FROM `VHS_TEXT`;
创建执行此操作的第二个视图。我想将两个查询合并到一个视图中。使两个视图相互重叠与在第一个视图的顶部进行查询是一样的。您可以使用
UNION
Please show me:-)UNION会产生奇怪的结果。
SELECT * FROM `VHS_TEXT`;