我卡在正在使用子查询和一直无法阅读手册,并尝试不同的想法后弄明白更新查询。以下是查询表&查询。表Temp_2,Temp_3 & Temp_4都有33行,没有空值。MySQL的更新子查询问题
有关如何解决此问题的任何想法?
CREATE TABLE temp_2 (
date_value date default NULL,
close_adj_value_1 double default NULL);
CREATE TABLE temp_3 (
date_value date default NULL,
first_close_adj_value_1 double default NULL);
CREATE TABLE temp_4 (
date_value date default NULL,
pct_return_1 double default NULL);
INSERT INTO temp_4 (date_value) SELECT date_value FROM temp_2;
UPDATE temp_4
SET pct_return_1 =
(SELECT ((temp_2.close_adj_value_1/temp_3.first_close_adj_value_1) - 1)
FROM temp_2,temp_3
WHERE temp_2.date_value = temp_3.date_value);
感谢, 埃里克
你的子查询似乎是专门从temp_2和temp_3中选择的,而不考虑它在temp_4中更新的内容。这本质上会使temp_4中的所有行都获得相同的值。你究竟想要做什么? – VoteyDisciple 2009-08-25 23:01:14