0

以下に示すクエリを実行して結果をレポートに含めようとすると、Operand should contain 1 columnエラー#1241が発生します。私はこれの原因を理解することができませんでした。この部分を単独で実行しても、エラーは発生しません。(pct_return_1 * .25) + (pct_return_2 * .25) + (pct_return_3 * .15) + (pct_return_4 * .15) + (pct_return_5 * .2)

コードは次のとおりです。

DROP TABLE IF EXISTS temp_5;
CREATE TABLE temp_5 (
    date_value date default NULL,
    pct_return_portfolio double default NULL,
    pct_return_benchmark double default NULL);

INSERT INTO temp_5 (date_value, pct_return_portfolio, pct_return_benchmark)
SELECT
 (date_value,
  (pct_return_1 * .25) +
  (pct_return_2 * .25) +
  (pct_return_3 * .15) +
  (pct_return_4 * .15) +
  (pct_return_5 * .2)
  FROM Temp_4),
pct_return_6)
FROM temp_4;
4

2 に答える 2

0

の最初の出現FROM Temp_4(サブクエリの 2 番目の値の直後のもの) を削除してみてください。

編集:次の例のように、括弧のグループ化も再確認してください:

INSERT INTO table2 (field1, field2, field3, field4) (SELECT 'value1 from user input', field1, field2, field3 from table1)

サブクエリの挿入に関するこのページに記載されています: http://dev.mysql.com/doc/refman/5.1/en/subqueries.html

于 2009-08-26T16:22:01.993 に答える
0

使用する:

INSERT INTO temp_5 
  (date_value, pct_return_portfolio, pct_return_benchmark)
SELECT date_value,
       pct_return_1 * .25 + pct_return_2 * .25 + pct_return_3 * .15 + pct_return_4 * .15 + pct_return_5 * .2,
       pct_return_6
  FROM temp_4;

演算の数学的順序により、括弧/括弧が不要になります。

于 2011-02-24T17:37:11.043 に答える