0

我有这个简单的 SQL 连接查询,它在第二个给我一个语法错误FROM

SELECT * FROM ##temporderstable P 
FROM supporder Y join backorder ON P.catalogid = Y.backorder 
GROUP BY P.catalogid

我无法弄清楚它有什么问题,有什么提示吗?

提前致谢

4

4 回答 4

3

你不能有两个这样的 FROM 子句......

您可能意味着 JOIN 但您需要另一个 ON 条件:

SELECT *
  FROM ##temporderstable P 
  JOIN supporder Y ON P.catalogid = Y.backorder 
  JOIN backorder B ON B.xxxxxxxxx = P.xxxxyyyyy
 GROUP BY P.catalogid;

第二个 ON 需要引用 B 列和 P 或 Y 列。

于 2012-10-18T03:13:13.387 回答
3
SELECT * 
FROM 
    ##temporderstable P 
    JOIN supporder Y 
    ON P.catalogid = Y.backorder 
GROUP BY P.catalogid

此外,您的查询没有任何聚合函数,因此您应该考虑需要 GROUPing onP.catalogid

于 2012-10-18T03:13:27.000 回答
1

您的查询有两个 FROM 子句。它应该是这样的。

SELECT 
    * 
FROM 
    ##temporderstable P 
INNER JOIN 
    supporder Y 
ON 
    P.catalogid = Y.backorder 
GROUP BY 
    P.catalogid
于 2012-10-18T03:14:59.950 回答
1

两个From子句不适用。您必须只使用一个,并且在其中您必须连接两个表。

于 2012-10-18T03:27:40.573 回答