我有一个非常复杂的表,如下所示:-
Snos 列 1 列 2 列 3 列 4 列 5 列 6 1 公元 AD1 C1 2011 P1 6435200 2 公元 AD1 C1 2010 P1 234 3 AD AD1 C1 2009 P1 6435 4 BD AD2 C2 2010 P2 198448333 5 CD AD3 C3 2011 P3 194414870
现在,我需要处理一个查询,该查询应该复制一行,其中假设 p2 值不适用于该特定年份或 2009 年或 2010 年或 2011 年的任何一个,并将最后一列的值设为零。
所以现在我的数据库应该看起来像 -
Snos 列 1 列 2 列 3 列 4 列 5 列 6 1 公元 AD1 C1 2011 P1 6435200 2 公元 AD1 C1 2010 P1 234 3 AD AD1 C1 2009 P1 6435 4 公元 AD1 C1 2011 P2 0 5 公元 AD1 C1 2010 P2 0 6 公元 AD1 C1 2009 P2 0 7 公元 AD1 C1 2011 P3 0 8 公元 AD1 C1 2010 P3 0 9 公元 AD1 C1 2009 P3 0 10 BD AD2 C2 2010 P2 198448333 11 BD AD2 C2 2009 P2 0 12 BD AD2 C2 2011 P2 0 13 BD AD2 C2 2010 P1 0 14 BD AD2 C2 2009 P1 0 15 BD AD2 C2 2011 P1 0 16 BD AD2 C2 2010 P3 0 17 BD AD2 C2 2009 P3 0 18 BD AD2 C2 2011 P3 0 19 CD AD3 C3 2011 P3 194414870 20 CD AD3 C3 2009 P3 0 21 CD AD3 C3 2010 P3 0 22 CD AD3 C3 2011 P1 0 23 CD AD3 C3 2009 P1 0 24 CD AD3 C3 2010 P1 0 25 CD AD3 C3 2011 P2 0 26 CD AD3 C3 2009 P2 0 27 CD AD3 C3 2010 P2 0
我尝试使用临时表
CREATE TEMPORARY TABLE tmptable_1 SELECT * FROM table WHERE *Some Condition*; 一些如果其他 然后 更新 tmptable_1 SET Column6 = 0; 插入表 SELECT * FROM tmptable_1; 如果存在 tmptable_1,则删除临时表;
但它不工作。谁能帮我。