Re: LEFT joins
| From: | Jochem Maas | Date: | Wed, 12 Jan 2005 18:14:17 +0000 |
| Subject: | Re: LEFT joins | ||
| References: | 1 2 3 4 5 6 7 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-38124@lists.php.net to get a copy of this message | ||
Han wrote:
Hmm, still no luck. Thanks for the help. I think I'll have to break theyou mean that it still times out? crashes mysql? maybe the table (tc_countries) is corrupt? try doing a repair.
select up into 2 selects and throw the results of the first into arrays. Didn't want to do it like that, but it's gonna be quicker now.if at first you don't succeed... hack ;-) <snip> try removing the ORDER BY Clause:
OR.... SELECT b.fldName,SELECT b.fldName,b.fldEmail, b.fldCountryCode, d.fldCode as FCode, b.fldMobile, a.fldTime as Time, c.fldUsernameFROM tblSubscribersChoices a LEFT JOIN tblUser c ON c.fldClientID = a.fldChoice LEFT JOIN tblSubscribers b ON b.fldID = a.fldClientID LEFT JOIN tc_countries d ON d.fldCode = b.fldCountryCode ORDER BY c.fldUsername ASC
b.fldEmail,
b.fldCountryCode,
d.fldCode as FCode,
b.fldMobile,
a.fldTime as Time,
c.fldUsername as Username
FROM tblSubscribersChoices a
LEFT JOIN tblUser c ON c.fldClientID = a.fldChoice
LEFT JOIN tblSubscribers b ON b.fldID = a.fldClientID
LEFT JOIN tc_countries d ON d.fldCode = b.fldCountryCode
ORDER BY Username ASC
and if that works but doesn't give you repeat records try adding the DISTINCT keyword after SELECT. <snip>