创建视图,错误代码:1052。字段中的列“ id”不明确

时间:2019-05-09 13:56:49

标签: mysql

我正在尝试创建一个视图,但是它带有错误代码:1052。

我了解这个问题,因为我看过与我相似的帖子。我发现我的查询中需要别名。

这是我最初编写的代码:

create view checkd as (select * from wms join outerb on wms.barcode = 
concat('0',outerb.barcode));

这是我尝试使用别名进行编码的尝试:

create view checkd as (select wms.id as wms.idWMS, wms.pcode as 
wms.pcodeWMS, wms.barcode as barcodeWMS from wms join outerb on 
wms.barcodeWMS = concat('0',outerb.barcode));

有人可以指出我正确的方向吗? 我在哪里错了?

下面是我的列及其类型

Table: outerb
Columns:
id int(11) AI PK 
pcode varchar(255) 
brand varchar(255) 
descr varchar(255) 
size varchar(255) 
barcode varchar(255) 
checkd varchar(255)

`

Table: wms
Columns:
id int(11) AI PK 
pcode varchar(255) 
barcode varchar(255)

使用MySQL工作台。

2 个答案:

答案 0 :(得分:1)

您的视图中有很多错误,请尝试

create view checkd as (select wms.id as wmsid, wms.pcode as 
wmspcodeWMS, wms.barcode as barcodeWMS from wms join outerb on 
wms.barcode = concat('0',outerb.barcode));

答案 1 :(得分:1)

在第一个创建视图中,您有两个id并使用*结果不明确
在第二个create视图中,尝试使用简单的列名别名

Cat cat = c.getMethod("getCat").invoke(null);