Sql 不知道为什么错误总是存在,内部连接问题?

Sql 不知道为什么错误总是存在,内部连接问题?,sql,postgresql,Sql,Postgresql,在PG Admin 4中运行SELECT时,我在或接近SELECT时遇到语法错误,问题出在哪里,我认为它在内部联接中,但不确定。您在leadcustomer后面有一个分号,它本身似乎有一个拼写错误-这结束了您的SELECT语句,并且内部联接不包括在其中,内部联接未使用正确的表名。此外,在“选择”中,您使用的是customer表中的一列,而该表根本没有联接 我认为您正在尝试使用内部联接来联接flightbooking和leadcustomer表,而不是实际尝试添加第三个表。我在这里编辑了您的查询:

在PG Admin 4中运行SELECT时,我在或接近SELECT时遇到语法错误,问题出在哪里,我认为它在内部联接中,但不确定。

您在leadcustomer后面有一个分号,它本身似乎有一个拼写错误-这结束了您的SELECT语句,并且内部联接不包括在其中,内部联接未使用正确的表名。此外,在“选择”中,您使用的是customer表中的一列,而该表根本没有联接

我认为您正在尝试使用内部联接来联接flightbooking和leadcustomer表,而不是实际尝试添加第三个表。我在这里编辑了您的查询:

SELECT bookingid, customer.customerid, flightid, numseats, firstname, surname, billingadress, email
FROM flightbooking, leadcustoemr;
INNER JOIN customerid ON flighbooking.customerid = leadcustomer.customerid;

join的语法有两种形式:

因此,根据上述语法重写查询:

SELECT *
FROM A, B
WHERE A.id = B.id;
更标准的语法是:

 SELECT bookingid, customer.customerid, flightid, numseats, firstname, 
 surname, billingadress, email
 FROM flightbooking, leadcustomer
 WHERE flightbooking.customerid= leadcustomer.customerid
因此,在中重写查询结果:

SELECT *
FROM A
INNER JOIN B
ON A.id = B.id
您可以使用别名将其缩短:

SELECT bookingid, customer.customerid, flightid, numseats, firstname, surname, 
billingadress, email
FROM flightbooking
INNER JOIN  leadcustomer 
ON flighbooking.customerid = leadcustomer.customerid;`

请勿在FROM子句中使用逗号。始终使用正确的显式联接语法。删除from子句后的分号。它只在最后。leadcustoemr中有一个拼写错误,请修复@Holly Tuckryes,我需要加入它们,因为两者都包含customeridOK,所以上面的FROM正确地加入了它们。您的选择仍然包含customer.customerid,并且您尚未包括customer表。这就是错误的情况。将表定义添加到问题中-同时检查您的查询窗口中是否没有任何其他文本,您可能会意外地与查询一起运行。如果代码为“复制和粘贴”,则您还将flightbooking表名拼写错误,缺少一个“t”。可能还有leadcustomer@天哪,塔克,如果答案有效,请接受。
SELECT bookingid, customer.customerid, flightid, numseats, firstname, surname, 
billingadress, email
FROM flightbooking
INNER JOIN  leadcustomer 
ON flighbooking.customerid = leadcustomer.customerid;`
SELECT bookingid, customer.customerid, flightid, numseats, firstname, surname, 
billingadress, email
FROM flightbooking fb
INNER JOIN  leadcustomer  lc
ON fb.customerid = lc.customerid;