当前位置: 首页 > 知识库问答 >
问题:

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

谢诚
2023-03-14

如何创建合并来自两个不同表的不同所有列的视图。

CREATE VIEW listView 
AS 
SELECT * FROM tab1 h LEFT JOIN tab2 b 
ON h.tID=b.tID 
WHERE value = 0

这给了我一个错误:

重复的列名“tID”

有没有一种方法可以连接两个表,而不需要列出所有要选择的值?

共有3个答案

燕承安
2023-03-14

您需要指定您的列名,而不是使用*,然后为您的列指定别名,如下所示:

SELECT h.tId, b.tId as BTId

你不能有两个相同的名字——这就是你上面的错误。

昝卓
2023-03-14

试试这个:

CREATE VIEW listView 
AS 
SELECT
  a.tID as a_tID,
  b.tID as b_tID,
  a.anothercolumn as a_anothercolumn,
  b.anothercolumn as b_anothercolumn
FROM tab1 a
JOIN tab2 b ON a.tID=b.tID 
WHERE a.value = 0;
轩辕成天
2023-03-14

这两个表包含< code>tID列。为了编译< code >视图,您需要在该列上创建一个别名,或者只指定一个< code>tid和它将来自的表。

一个解决方案:

SELECT  h.TID, -- and not specifying b.TID
FROM    tab1 h LEFT JOIN tab2 b ON h.tID=b.tID 

另一种解决方案:提供别名,

SELECT  h.TID as H_TID,
        b.TID as B_TID
FROM    tab1 h LEFT JOIN tab2 b ON h.tID=b.tID 
 类似资料:
  • 如何创建将不同列与不同表合并的视图?例如,我有三个表:用户、物品和礼物(在本例中,这是一个用户可以向另一个用户赠送礼物的系统) < code>users表包含有关用户的信息,< code>items表包含有关项目的信息,< code>gifts表显示哪个用户向哪个用户发送了什么礼物。 我想要的是创建如下视图:

  • 问题内容: 我有两个表,如下所示: 我想列出参加活动17的所有人(包括学生和教师)的名字。无论如何,我可以获得以下结果: 无需创建新表(仅使用表达式或派生关系的嵌套)? 在actid上加入JOIN会得到如下结果: 我想我需要一种串联形式? 问题答案: 您可能(或可能不需要)对ID不唯一的内容进行处理,例如

  • 我试图连接两个表,但似乎有一个问题,我寻找的输出是有主题的行量。

  • 本文向大家介绍mysql三张表连接建立视图,包括了mysql三张表连接建立视图的使用技巧和注意事项,需要的朋友参考一下 三张表连接·· A表的a字段 对应 B表的b字段 ,B表的b1字段对应C 表的c字段 现在 建立 一个视图,可以同时 看到三张表的 所有信息·~ 两表链接创建视图 创建视图  

  • 谁能帮我创建一个视图,连接两个没有重复的相同列的表? 例: 我有两张桌子 T1 和 T2 一种网络的名称(传输率可达1.54mbps) T2 航站楼 我的输出视图应该如下所示 下面是我正在尝试的查询 但是我得到了重复的记录。

  • 我对MySQL和PHP非常陌生,我正在努力处理两个表之间的内部连接。我正在构建一个脚本,它读取一个os商务数据库,并告诉我哪些产品当前处于过期订单状态。为了使产品处于过期订单状态,products_attributes表中的值设置为'134',但是它只读取product_id,而不读取'products'表中的product_model。 我想在products_attributes表中选择值为'