Mysql 如何在包含具有不同数据的相同列的两个不同表上创建视图

Mysql 如何在包含具有不同数据的相同列的两个不同表上创建视图,mysql,view,Mysql,View,我有两个表account包含活动客户信息,account_draft包含草稿信息 帐目 id |description |currency_code| status | ----|------------------|-------------|--------| 1 AccountTransfer SGD Active 2 CTS SGD Active Account-draft

我有两个表account包含活动客户信息,account_draft包含草稿信息

帐目

id  |description       |currency_code| status |
----|------------------|-------------|--------|
1     AccountTransfer       SGD         Active
2     CTS                   SGD         Active


Account-draft
id  |description       |currency_code| status |
----|------------------|-------------|--------|
1     AccountTransfer       SGD         Approved
2       CTS                 SGD         pending
3       payment             SGD         deleted
如何创建视图包含活动表和草稿表的数据,并根据状态标识每条记录。 活动表包含状态为Active的记录,其中as草稿表包含状态为draft、approved、pending、hold的记录

视图如下所示

查看您的帐户

id  |description       |currency_code| status | Type      | 
----|------------------|-------------|--------|-----------|
1     AccountTransfer       SGD         Active     active
1     AccountTransfer       SGD         Approved   draft
2     CTS                   SGD         Active     active
2     CTS                   SGD         pending    draft
3     payment               SGD         deleted    draft 
请提供帮助。

您可以使用联合查询,根据从中读取数据的表添加额外的列类型:

CREATE VIEW alldata AS
SELECT id, description, currency_code, status, 'active' AS Type
FROM Account
UNION ALL
SELECT id, description, currency_code, status, 'draft'
FROM `Account-draft`
ORDER BY id, status
那你可以

SELECT *
FROM alldata
输出:

id  description         currency_code   status      Type
1   AccountTransfer     SGD             Active      active
1   AccountTransfer     SGD             Approved    draft
2   CTS                 SGD             Active      active
2   CTS                 SGD             pending     draft
3   payment             SGD             deleted     draft

太好了,谢谢you@raju别担心,我很高兴能帮上忙。