ACCESS(2010)使用嵌套SELECT插入(查询输入必须包含至少一个表或查询)

时间:2013-03-25 20:06:30

标签: ms-access

我不熟悉SQl或Access。

我正在Access(2010)版本的SQL中编写INSERT INTO查询。

我收到以下错误(查询输入必须包含至少一个表或查询

这是我的代码

    INSERT INTO TABLE ( AsOf, Portfolio, [String A], [Number A] ) VALUES 
    (#DATE#, 
           (SELECT P.Portfolio FROM tb_data_Portfolio P  
                 WHERE IIF  ( EXISTS 
                    (SELECT Portfolio FROM tb_data_Portfolio p2 WHERE p2.Portfolio = 'Some String'), 
                    (P.Portfolio = 'Some String'), 
                    (P.Id = (SELECT px.Portfolio_Id FROM tb_sys_Portfolio_xRef px WHERE px.ext_Portfolio = 'Some String'))
             )
)    
,'String a', 'Number a');

1 个答案:

答案 0 :(得分:0)

你的查询应该像这样开始(你不能在INSERT中混合值和SELECT)

INSERT INTO TABLE ( AsOf, Portfolio, [String A], [Number A] ) 
  SELECT DATE, P.Portfolio FROM tb_data_Portfolio P  
    WHERE ...;

我不明白你在WHERE子句中想要做什么,但我认为你不能在IIF()中使用子查询。请解释你的目标,我会编辑我的答案。