On Fri, 2003-01-24 at 20:27, Hoffman, Geoffrey wrote: > I have an SQL query that LEFT JOINs four different tables to a main table, > based on several foreign keys. > > It's returning only stories in a section that have photos, > but I need it to return all the stories in a section whether > it has a photo or not. > > I think the problem is in the > WHERE evtphoto.phtusage = 1 -- if there's no photo, > then there's no phtusage. > > Should I split this up into two queries, to get all > the story IDs for a section/day and then get the > photos for the stories in a 2nd query? > Or do I need a different join type? > Or do I put the WHERE clauses in a different order? > > Here's the query: > > > SELECT > evtstorysection.secid, > evtstory.styid, > evtstory.styheadline, > evtstory.stysummary, > evtstory.styintro, > evtstory.stypubdate, > evtphoto.phturl, > evtphoto.phtcaption, > evtstoryorder.stoorder, > evtlayoutsum.lytstring > > FROM > evtstory > > LEFT JOIN evtlayoutsum ON evtstory.slytid = evtlayoutsum.lytid > LEFT JOIN evtstorysection ON evtstory.styid = evtstorysection.styid > LEFT JOIN evtstoryorder ON evtstory.styid = evtstoryorder.styid > LEFT JOIN evtphoto ON evtstory.styid = evtphoto.styid LEFT JOIN evtphoto nophoto ON evtstory.styid = nophoto.styid > > WHERE > evtphoto.phtusage = 1 AND Replace above line with: (evtphoto.phtusage = 1 OR nophoto.phtusage IS NULL) AND > evtstorysection.secid = 3 AND > evtstoryorder.secid = 3 AND > evtstoryorder.stodate = '2003-01-24' AND > evtstory.stypubdate <= '2003-01-24' AND > evtstory.styexpdate > '2003-01-24' > > ORDER BY > evtstoryorder.stoorder >
__ / \\ @ __ __ @ Adolfo Bello <[EMAIL PROTECTED]> / // // /\ / \\ // \ // Bello Ingenieria S.A, ICQ: 65910258 / \\ // / \\ / // // / // cel: +58 416 609-6213 /___// // / <_/ \__\\ //__/ // fax: +58 212 952-6797 www.bisapi.com // pager: www.tun-tun.com (# 609-6213) --------------------------------------------------------------------- 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