Can someone tell me why:
SELECT Items.*, IF(Items.status IN ('Event', 'Not Purchasable',
Special') OR ('0000-6-12' >= Items.start AND '0000-6-12'
Items.end),1,0) as inseason FROM Items, Categories WHERE
Items.category=Categories.id AND Items.showitem>0 AND
Categories.id > 5 AND IF(Items.status='Use Inventory',
Items.invqty>=Items.invminqty,1) ORDER BY Items.created desc LIMIT 0,1
Results in a table overflow, and:
SELECT Items.*, IF(Items.status IN ('Event', 'Not Purchasable',
Special') OR ('0000-6-12' >= Items.start AND '0000-6-12'
Items.end),1,0) as inseason FROM Items LEFT JOIN Categories ON
Items.category=Categories.id AND Items.showitem>0 AND
Categories.id > 5 WHERE IF(Items.status='Use Inventory',
Items.invqty>=Items.invminqty,1) ORDER BY Items.created desc LIMIT 0,1
Does not?
I don't want to use a left join in this statement. I WANT the extra
restriction provided by a right join, which I *thought* would also make the
resultant temporary table (I'm using Perl DBI) smaller, not larger
Thanks,
Chris
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php