gpt4 book ai didi

mysql - SELECT * 连接中列名的别名

转载 作者:行者123 更新时间:2023-11-29 01:37:52 25 4
gpt4 key购买 nike

我有两个表 - 客户和个人。它们在两个表中都由 personID 链接。

我正在尝试创建一个 View 。

我试过:

SELECT * FROM client INNER JOIN person ON client.personID = person.personID

它不喜欢它说 Duplicate column name 'personID

我认为如果您使用 table.column 作为标识符就可以了。我尝试使用和不使用单引号。

如果我想要特定的列 EG client.personID AS perID,我可以做一个别名,但是当它们是 JOIN 的一部分时,我不知道如何为这个位置 IE 中的列创建一个别名定义。

我已经寻找并尝试了一个多小时,但就是找不到。

编辑:这是一个特别关于在 SELECT * 连接中别名列的问题。每个人似乎都在说放在明确的专栏中。我知道该怎么做。我故意想使用 * JOIN 进行开发工作。这将是一个很小的数据库,所以即使它留在里面也没有关系。哦,这只是存储为 VIEW 而不是 SQL 查询或一些代码的问题

最佳答案

看起来您必须使用别名为列名称添加别名。

SELECT client.column1 as col1, client.column2 as col2, person.column1 as colp1 FROM client INNER JOIN person ON client.personID = person.personID

当然,将列名替换为真实的列名,因为使用更吸引人的别名

如果有帮助请告诉我们

更新#1

我尝试在 mySQL 5.5 和 5.6 中使用 sqlfiddle 创建 2 个表

查看链接:http://sqlfiddle.com/#!9/e70ab/1

它按预期工作。

也许你可以分享你的表架构。

示例代码如下:

CREATE TABLE Person
(
personID int,
name varchar(255)
);

CREATE TABLE Client
(
ID int,
name varchar(255),
personID int
);

insert into Person values(1, 'person1');
insert into Person values(2, 'person2');
insert into Person values(3, 'person3');

insert into Client values(1, 'client1', 1);
insert into Client values(2, 'client2', 1);
insert into Client values(3, 'client1', 1);

SELECT * FROM client
INNER JOIN person
ON client.personID = person.personID;

关于mysql - SELECT * 连接中列名的别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34688944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com