This one is weird. And I don't know exactly what I have the ability to
provide you for information. Below is the C# code I use to execute a
query. And below that is what is ultimately translated and executed. The
c# application appears to get hung up and loops. It burns cpu, but never
stops. But the same (translated) code will run in seconds if I cut and
paste it into Sqlite Expert. I'll keep poking around and see what else I
might be doing.
All comments about my syntax are welcome.
Have a good one!
=========== c# query =============
SQLiteCommand upd_cmd = DbWork.CreateCommand();
//upd_cmd.Parameters.Add(SegmentController.SqlprmDepth);
upd_cmd.CommandText = String.Format(
@"update {0} set {11} =
(
select avg(rowid) from
(
select pr.rowid
from {1} as m
inner join {2} as p on p.{5} = m.{5} and p.{6} = m.{6}
inner join {3} as pr on pr.{7} = p.{7} and pr.{8} = p.{9}
where {4} = {0}.{4}
order by pr.rowid
limit {12}
)
)
where {4} in
(
select {4} from {1} where {10} = {12}
);
",
seg.TblNameMatches,
seg.ViewNameMatches,
seg.ViewNamePools,
AddPoolController.POOL_PRIORITIES_TABLE_NAME,
SegmentController.SEG_COL_NEEDID,
TblZipRoute.ZR_COL_ZIP,
TblZipRoute.ZR_COL_CRRT,
TblZipRoute.ZR_COL_PRTY,
AddPoolController.POOL_COL_POOLID,
TblZipRoute.ZR_COL_ID,
lvl,
SegmentController.SEG_COL_ROUTE_WEIGHT,
i
);
//SegmentController.SqlprmDepth.Value = i;
upd_cmd.ExecuteNonQuery();
}
======= c# query translated =======
update seg_WI_matches set rtwgt =
(
select avg(rowid) from
(
select pr.rowid
from seg_WI_matches_view as m
inner join seg_WI_pool_view as p on p.zip = m.zip and p.crrt = m.crrt
inner join add_priorities as pr on pr.prty = p.prty and pr.poolid =
p.fileid
where needid = seg_WI_matches.needid
order by pr.rowid
limit 1
)
)
where needid in
(
select needid from seg_WI_matches_view where CR = 1
);
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users