SQL使用别名连接多个表
问题描述:
有人可以解释,用多个别名连接多个表?SQL使用别名连接多个表
我无法让代码工作......不停的给我提供“无法绑定”的错误,这个错误信息是针对以下内容的:M.ZipCode,C.Member_ID,F.Navn,F.Navn (最后一个)。 我对SQL还很陌生,我知道我已经搞乱了Zipcode的名字。 澄清我有一个表,称为Zipcode,持有Zipcodes,成员需要在成员表中的zipcode。
SELECT
m.Fornavn,
m.Efternavn,
m.Zipcode,
z.City,
c.Model,
c.Producent,
s.Navn,
s.Antal,
s.Pris
FROM Members M, Fabricator F, Cars C, Storage S, ZipCode Z
INNER JOIN Members ON Z.Zipcode = M.ZipCode AND C.Member_ID = Members.ID
INNER JOIN Cars ON F.Navn = Cars.Producent
INNER JOIN Storage ON F.Navn = Storage.Producent;
答
你似乎想以下FROM
条款:
FROM ZipCode z INNER JOIN
Members m
ON z.Zipcode = m.ZipCode INNER JOIN
Cars c
ON c.Member_ID = m.ID INNER JOIN
Fabricator f
ON f.Navn = c.Producent INNER JOIN
Storage s
ON f.Navn = s.Producent
的FROM
子句中的逗号表示CROSS JOIN
- 笛卡尔乘积。你有多次提到的相同表格。最简单的方法是学习使用正确的语法。
答
你大概的意思
SELECT
m.Fornavn,
m.Efternavn,
m.Zipcode,
z.City,
c.Model,
c.Producent,
s.Navn,
s.Antal,
s.Pris
FROM Fabricator F
INNER JOIN Cars C ON F.Navn = C.Producent
INNER JOIN Members M ON C.Member_ID = M.ID
INNER JOIN ZipCode Z ON Z.Zipcode = M.ZipCode
INNER JOIN Storage S ON F.Navn = S.Producent
答
议员男,加工厂楼汽车C,储存器S,邮编ž
是CROSS的缩写形式加入,让你必须避免这种符号而据我所知,这是不推荐使用的符号
*从不*在'FROM'子句中使用逗号。 *总是*使用正确的,明确的'JOIN'语法。 –
您正在为相同的联合使用SQL'89和SQL'92语法。您可以使用显式连接(首选),也可以不使用JOIN,并在WHERE子句中设置联合条件。 –