here is the view:

create view today_goal as
select 'monday' dow, monday_goal value from user_goals
union all
select 'tuesday' dow, tuesday_goal value from user_goals
union all
select 'wednesday' dow, wednesday_goal value from user_goals
union all
select 'thursday' dow, thursday_goal value from user_goals
union all
select 'friday' dow, friday_goal value from user_goals
union all
select 'saturday' dow, saturday_goal value from user_goals
union all
select 'sunday' dow, sunday_goal value from user_goals;

select dow, value from today_goal;

On Wed, May 11, 2011 at 8:51 PM, John <tauru...@gmail.com> wrote:

> ok, I will try. Meanwhile I created the actual view that does what I need.
> (considering I have many mondays, tuesdays... I replaced UNION with UNION
> ALL)
>
>
> On Wed, May 11, 2011 at 8:44 PM, Mr. Puneet Kishor <punk.k...@gmail.com>wrote:
>
>>
>> On May 11, 2011, at 7:37 PM, John wrote:
>>
>> > Igor,
>> > What you are suggesting will not work. You can only select values not
>> > columns using case.
>> >
>> >
>> > select case strftime('%w', 'now')
>> >       when 0 then sunday_value
>> >       when 1 then monday_value
>> >       ...
>> >       else saturday_value
>> >  end
>> > from seven_days;
>> >
>> >
>>
>>
>> You must be new here. You have to understand the first rule of SQL. Igor
>> is never wrong. His query works just fine. See below --
>>
>> sqlite> CREATE TABLE seven_days (
>>   ...>   mon INTEGER,
>>   ...>   tue INTEGER,
>>   ...>   wed INTEGER
>>   ...> );
>> sqlite> INSERT INTO seven_days VALUES (5, 3, 2);
>> sqlite> INSERT INTO seven_days VALUES (1, 4, 3);
>> sqlite> INSERT INTO seven_days VALUES (7, 8, 3);
>> sqlite> SELECT CASE Strftime('%w', 'now')
>>   ...>   WHEN 1 THEN mon
>>   ...>   WHEN 2 THEN tue
>>   ...>   ELSE wed
>>   ...> END AS day_val
>>   ...> FROM seven_days;
>> day_val
>>
>> ------------------------------------------------------------------------------
>> 2
>> 3
>> 3
>> sqlite>
>>
>>
>> >
>> >
>> > On Wed, May 11, 2011 at 8:30 PM, Igor Tandetnik <itandet...@mvps.org>
>> wrote:
>> >
>> >> On 5/11/2011 8:14 PM, John wrote:
>> >>> I am in situation where I need to keep as much logic as possible
>> within
>> >>> SQLite. However the query that I need to perform does not seem to be
>> >>> possible  to perform.
>> >>>
>> >>> let's say I have a table with columns for each day of the week
>> >>>
>> >>> create table seven_days
>> >>> (monday_value integer,
>> >>>  tueday_value integer,
>> >>>  wednesday_value integer,
>> >>>  ...   );
>> >>>
>> >>> I want to select value from whatever day it is today. So if today is
>> >>> Tuesday, select from tuesday_value.
>> >>>
>> >>> Can I do it with pure SQlite?
>> >>
>> >> select case strftime('%w', 'now')
>> >>       when 0 then sunday_value
>> >>       when 1 then monday_value
>> >>       ...
>> >>       else saturday_value
>> >>  end
>> >> from seven_days;
>> >>
>> >> --
>> >> Igor Tandetnik
>> >>
>> >> _______________________________________________
>> >> sqlite-users mailing list
>> >> sqlite-users@sqlite.org
>> >> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>> >>
>> >
>> >
>> >
>> > --
>> > ~John
>> > _______________________________________________
>> > sqlite-users mailing list
>> > sqlite-users@sqlite.org
>> > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>>
>> _______________________________________________
>> sqlite-users mailing list
>> sqlite-users@sqlite.org
>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>>
>
>
>
> --
> ~John
>



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

Reply via email to