0
SELECT *
FROM StocksFinancial

IN

(SELECT *
FROM Stocks
WHERE Market_Cap <= 13);

以上是我尝试为查询编写的 SQL 代码,该查询应显示市值小于 13 的股票的财务信息。但是,我得到了一个

语法错误 FROM 子句。

我正在使用 Access 2007。

我是 SQL 新手。

提前感谢您的帮助。

4

2 回答 2

2

这在语法上并没有联系在一起:

你必须做一些更像

 SELECT * FROM StocksFinancial
   WHERE stock_id IN 
         (
             SELECT stock_id 
               FROM Stocks
              WHERE market_cap <= 13
         )

IN 表达式内的查询必须只返回一列。

于 2013-07-10T02:51:07.113 回答
0

要使用in,您需要一个where子句。您所写的查询没有意义。它应该是这样的:

SELECT *
FROM StocksFinancial sf
where sf.stockname IN (SELECT stockname FROM Stocks WHERE Market_Cap<=13);
于 2013-07-10T02:51:40.140 回答