Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • SELECT DISTINCT tag, COUNT(*) AS count
    FROM entrytags
    WHERE entry IN (SELECT id FROM entries WHERE user = ?)
    GROUP BY tag
    ORDER BY tag
    That works for me. When you say it doesn't seem to quote user, do you mean user has spaces, or some other weird characters? I did try spaces in 'user' and it still seemed to work. Got any specific data?
    • I mean that the value being passed to replace the ? as a bind parameter is potentially not being quoted. I need to investigate further to be sure what's happening.
  • How about keeping a window open on SQL As Understood By SQLite []? expression [] shows that its parser expects subselects only in conjunction with IN, not =. (Is the latter even valid in SQL in general?)
    • I'll definitely keep an eye on that... but it doesn't explain why the query seemed to work as written in DBD::SQLite 1.08, which uses 3.1.3 instead of 3.0.8. 3.1.0 introduced correleated subqueries, which is what I want. The lang_expr page would, then, seem to be wrong.
    • ...oh, and as for valid SQL! I'm not sure. I found some SQL92 validator that claimed that it was. It works in MSSQL and pgSQL. I just expected it would work in SQLite -- and it does, in the more recent versions.

      What I really need to do is track down the problem with the query under DBD::SQLite 1.08.