Jim you maybe correct that I don't have enough data to unambiguously identify
the rows.  But just in case I was not very clear the first time.

What I want to do is take the COL1 values of the first 2 rows [1, 2] and
subtract them from the COL1 values, two rows at a time.  so [1, 2] - [1, 2],
then [3, 4] - [1, 2], then [5, 6] - [1, 2], and finally [7, 8] - [1, 2]. 
The question is can I do this just using SQL?




Jim Morris-4 wrote:
> 
> What you are trying to do is unclear to me.  It seems that table1 
> doesn't have enough data to unambiguously identify the rows.
> 
> On 7/23/2010 8:03 AM, peterwinson1 wrote:
>> Thanks Eric and Alan for your help.  I tried to apply your code to my
>> problem
>> and it works to a limited extent because the problem is more complicated
>> than the example I gave in the post.  I tries to simplify my exact
>> problem
>> but that didn't work out.  So here is the problem that I trying to solve.
>>
>> table1 (KEY, COL1)
>>
>> 0, 1
>> 0, 2
>> 1, 3
>> 1, 4
>> 2, 5
>> 2, 6
>> 3, 7
>> 3, 8
>>
>> table2 (KEY, X, Y)
>>
>> 0, 0, 0
>> 1, 0, 1
>> 2, 1, 0
>> 3, 1, 1
>>
>> What I would like to do is, like before, subtract COL1 from COL1 where
>> table1.KEY = 0 and WHERE table1.KEY is IN (SELECT table2 WHERE X=0).  But
>> I
>> want to do a vector subtraction instead of a scalar subtraction.
>>
>> So far I have
>>
>> UPDATE table1 set COL1 = COL1 - (SELECT COL1 WHERE table1.KEY = 0) WHERE
>> table1.KEY IN (SELECT table2 WHERE X=0)
>>
>> The result I would like to get is
>>
>> table1
>>
>> 0, 0 //(1 - 1)
>> 0, 0 //(2 - 2)
>> 1, 2 //(3 - 1)
>> 1, 2 //(4 - 2)
>> 2, 5
>> 2, 6
>> 3, 7
>> 3, 8
>>
>> Instead I get
>>
>> 0, 0 //(1 - 1)
>> 0, 1 //(2 - 1)
>> 1, 2 //(3 - 1)
>> 1, 3 //(4 - 1)
>> 2, 5
>> 2, 6
>> 3, 7
>> 3, 8
>>
>> Is this possible in SQL?
>>
>>
>> peterwinson1 wrote:
>>    
>>> Hello,
>>>
>>> I have a some what complex question about UPDATE.  I have the following
>>> table
>>>
>>> table1 (KEY, COL1)
>>>
>>> 0, 1
>>> 1, 2
>>> 2, 3
>>> 3, 4
>>>
>>> What I would like to do is to UPDATE COL1 by subtracting the COL1 value
>>> where KEY = 0 from the COL1 value of the current row so that the result
>>> would be.
>>>
>>> 0, 0
>>> 1, 1
>>> 2, 2
>>> 3, 3
>>>
>>> Can this be done in SQL?  It does not have to be one UPDATE/SELECT
>>> statement.
>>>
>>> Thank you
>>> pw
>>>
>>>
>>>
>>>      
>>    
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
> 
> 

-- 
View this message in context: 
http://old.nabble.com/Help-with-complex-UPDATE-question-tp29239594p29249685.html
Sent from the SQLite mailing list archive at Nabble.com.

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to