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 i.i1, i.i2, t3.i
    FROM (
        SELECT t1.i AS i1, t2.i AS i2
        FROM t1
        INNER JOIN t2 ON t2.i = t1.i
    ) i
    RIGHT JOIN t3 ON t3.i = i.i2;

    No idea if this actually fixes the problem. Depends on what the query planner turns it into, I guess.

  • Clearly the best solution is to upgrade to a recent version. 5.0 has been the stable release for years and has many improvements over older versions.

    Failing that, isn't a RIGHT JOIN just a LEFT JOIN with the table order reversed? If you list the tables in reverse order and use a LEFT JOIN will it work?
    • No, because reversing the order gives you this:

      select t1.i, t2.i, t3.i
      from t3
      left  join t2 on t3.i = t2.i
      inner join t1 on t1.i = t2.i;

      That final INNER JOIN excludes the NULL row we need.

      • In that case, the simplest fix is probably a temp table, used in the same way you would use a subquery in a more recent version.
        • How… relational.

          • It seems a bit unfair to criticize MySQL for something that was literally fixed years ago. The 4.0 series isn't even supported anymore.
            • Agreed. It's like taking potshots at Perl 5.005.

            • Huh, that was a criticism of MySQL?

              • It sounded that way. Apologies if I read too much into it. Sarcasm is a tough call sometimes on message boards.
                • It just struck me as funny after reading the posts Ovid recently wrote about real relational databases, noting among other things that a select query there returns a bonafide table.

    • Surprise, surprise. 4-year old OSS software has bugs. If only there was a solution...

      I understand the frustration since it's sometimes hard to upgrade critical pieces like MySQL or Perl, but how many bugs do you publicly complain about in Perl 5.8.1. Probably not many. You instead use a more recent version without those bugs or you work around them.

      At least you don't have a vendor company forcing you to upgrade. Which means you do it at your own pace and consequences. Only you (meaning whatever company you'