Mysql创建一个链接两个表的视图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql创建一个链接两个表的视图相关的知识,希望对你有一定的参考价值。

我有两个由UID链接的表

table A
1 A1
2 B3
3 E9
4 F2

table B
1 2
2 4
3 1

我想基于表B创建一个视图,其中包含A的UID。

View_link
1 2 A1 B3
2 4 B3 F2
3 1 E9 A1

我试过的视图如下。

ALTER VIEW  view_links AS 
SELECT 
    tableB.source as sourceID,
    tableB.target as targetID,
    tabelA.UID as sourceUID
FROM tableA, tableB 
where tableB.source=tableA.id

如何将targetUID添加到视图中?

答案

抓取子查询中的链接并连接回表a(并且不要使用隐式连接)

例如

drop table if exists ta,tb;
create table ta(id int, uid varchar(2));
create table tb(id int, uid varchar(2));

insert into ta values
(1, 'A1'),
(2, 'B3'),
(3, 'E9'),
(4, 'F2');

insert into tb values
(1 ,2),
(2 ,4),
(3 ,1);

select taid,tbuid,tauid,ta.uid 
from
(
select ta.id taid,ta.uid tauid,tb.uid tbuid
from ta
join tb on tb.id = ta.id
) a
join ta on ta.id = tbuid
order by taid

结果

+------+-------+-------+------+
| taid | tbuid | tauid | uid  |
+------+-------+-------+------+
|    1 | 2     | A1    | B3   |
|    2 | 4     | B3    | F2   |
|    3 | 1     | E9    | A1   |
+------+-------+-------+------+
3 rows in set (0.00 sec)

以上是关于Mysql创建一个链接两个表的视图的主要内容,如果未能解决你的问题,请参考以下文章

MySQL创建视图连接两个完整的表

Mysql从另一个数据库创建到表的符号链接

sql2005 中的把2个表创建成一个视图

如何从片段内的列表视图打开链接网址?

片段中的按钮自定义视图

创建具有多个表的视图?