I just tried to do: SELECT max(current_rank) FROM playersinleague WHERE id = 1;
and I got an empty string and not 0. Is this a bug? Should max(field) return 0 if there is no records that satisfy criteria? Thank you. On Sat, Nov 9, 2013 at 9:54 PM, Igor Korot <ikoro...@gmail.com> wrote: > Hi, ALL, > > CREATE TABLE playersinleague( > id integer > playerid integer > ishitter char > age integer > value double > currvalue double > draft boolean > isnew char(1) > current_rank integer > original_rank integer > deleted integer > foreign key(id) references leagues(id) > foreign key(playerid) references players(playerid) > ); > > CREATE TRIGGER playersinleague_insert AFTER INSERT on playersinleague > BEGIN > UPDATE playersinleague SET current_rank = 1+ (select max( > current_rank ) from playersinleague WHERE id = new.id), original_rank > = current_rank WHERE id = new.id AND current_rank IS NULL; > END; > > or do it this way: > > DROP TRIGGER playersinleague_insert; > CREATE TRIGGER playersinleague_insert AFTER INSERT ON playersinleague > BEGIN > UPDATE playersinleague SET current_rank = 1 + (select max( > current_rank ) FROM playersinleague WHERE id = new.id), original_rank > = current_rank WHERE rowid = new.rowid; > END; > > After that: > > INSERT INTO playersinleague(id,playerid,ishitter,age,value,currvalue,dra > ft,isnew,deleted) SELECT 1, players.playerid, players.ishitter, players.age, > pla > yers.value, players.value, 0, "0", 0 FROM players WHERE (teamid >= 1 AND > teamid > <= 15) OR (teamid >= 16 AND teamid <= 30) ORDER BY rank; > > SELECT * FROM playersinleague WHERE id=1 AND playerid=1; > 1|1|1|27|42.0|42.0|0|0|||0 > > I didn't specify current_rank on the INSERT query which means the > field shuold be NULL. > > I think I am doing something wrong but I don't see what. > > Could someone please help? > Also will the UPDATE in trigger do the right thing and correctly > update the original_rank? > > Thank you. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users