MySQL 创建连接两个完整表的 View

标签 mysql sql join view

如何创建一个 View ,合并两个不同表中不同的所有列。

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

这给我错误:

Duplicate column name 'tID'

有没有办法在不列出所有要选择的值的情况下连接两个表?

最佳答案

这两个表包含列 tID。为了编译 VIEW,您需要在该列上创建一个别名,或者只指定一个 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 

关于MySQL 创建连接两个完整表的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15187751/

相关文章:

php - 如何在 CakePHP 的输入字段中显示数据库中的值

php - 无法关联两个 MySQL 表(外键)

sql - 如何快速检测并解决数据库的SQL Server索引碎片?

使用 Entity Framework 6 异常数据读取器的 C# 存储库模式 SQL 查询与指定实体不兼容

mysql - 基于连接添加列

MYSQL 联合和LIKE

php - 具有多个选项过滤器 mysql 和 php 的产品

mysql - 获取表数据和总计数

php - 在获取中添加?

php - 在 PHP 中合并两个数组