嗨,我的sql语句中有一个prpblem:(我得到错误:
#1066-非唯一表/别名:“VERANSTALTUNG”
这是我的代码:
select VERANSTALTUNG.v_name, V_TYP.typ, RAUM.raumname, GEBEAUTE.gebeaute_name From VERANSTALTUNG
JOIN VERANSTALTUNG on VERANSTALTUNG.v_typ_id=V_TYP.v_typ_id
JOIN VERANSTALTUNG on VERANSTALTUNG.raum_id=RAUM.raum_id
JOIN RAUM on RAUM.gebeaute_id=GEBEAUTE.gebeaute_id
最佳答案
这是一个起点。V1,V2,V3都是别名,如果你需要的话。
在引用表之前,需要引入表(不是在第一个选择行中,而是在选择行之后的联接中)。
换句话说,可以在“选择列”列表中引用它们。但是如果没有引入它们,就不能在联接中引用它们。
在你把它带来之前你不能引用它
有两种方法可以把它带进来GEBEAUTE
XXX子句(这是您带来的第一个可用表)from
XXX子句(引入表2及更高版本)
.
select VERANSTALTUNG.v_name, V_TYP.typ, RAUM.raumname, GEBEAUTE.gebeaute_name
From VERANSTALTUNG V1
JOIN VERANSTALTUNG V2 on V2. something
JOIN VERANSTALTUNG V3 on V3. something
JOIN RAUM on RAUM.gebeaute_id=GEBEAUTE.gebeaute_id -- error here still, see below
注意,您还没有引入
join
或V_TYP
一团糟。不是一团糟,而是慢慢走向幸福。
这里有一个简单的例子
line1: select A.col1,B.col2,C.col3
line2: from table1 A
line3: join table2 B on B.blahblah=A.something
line4: join table3 C on C.typ_id=D.month_id
4号线之前看起来不错。因为表还没有带进来。