php - Join query shows results based only on one match -


so here query

select `c`.`location`, `c`.`id`, `c`.`user_id`, `c`.`date`, `c`.`attachment`,  `ud`.`first_name`, `ud`.`last_name`,  `a`.`file_name`, `a`.`folder_name`, `a`.`server_key`, `a`.`type` `content` `c` inner join `users_details` `ud` on ud.user_id = c.user_id inner join `attachments` `a` on c.id = a.content_id (c.location = 'new york') 

i'm looking include in results data attachments table, problem not data row table content has attachment, if post has attachments saves in content table in row attachment 1, , 0 if doesn't have attachment.

now problem query displays data has attachments, guess problem comes join attachments table.

so how can have following output: kinda merge data show posts have uploads , don't , show data attachments table have uploads. kinda this:

  [0] => array(11) {     ["location"] => string(15) "new york"     ["id"] => string(2) "25"     ["user_id"] => string(1) "1"     ["date"] => string(10) "1364348772"     ["attachment"] => string(1) "1"     ["first_name"] => string(8) "john"     ["last_name"] => string(7) "doe"     ["file_name"] => string(36) "c2638acdac24dc2efe4e5971db5f4cc5.jpg"     ["folder_name"] => string(13) "5133b99030ac4"     ["server_key"] => string(1) "1"     ["type"] => string(1) "1"   }   [1] => array(11) {     ["location"] => string(15) "new york"     ["id"] => string(2) "26"     ["user_id"] => string(1) "1"     ["date"] => string(10) "1364348812"     ["attachment"] => string(1) "0"     ["first_name"] => string(8) "john"     ["last_name"] => string(7) "doe"     ["file_name"] => string(36) ""     ["folder_name"] => string(13) ""     ["server_key"] => string(1) ""     ["type"] => string(1) ""   } 

it seem need left outer join attachments table this:

select   `c`.`location`,   `c`.`id`,   `c`.`user_id`,   `c`.`date`,   `c`.`attachment`,    `ud`.`first_name`,   `ud`.`last_name`,    `a`.`file_name`,   `a`.`folder_name`,   `a`.`server_key`,   `a`.`type` `content` `c` inner join `users_details` `ud`   on ud.user_id = c.user_id left outer join `attachments` `a`   on c.id = a.content_id c.location = 'new york' 

the outer join return results regardless whether there a.content_id matches c.id. selected fields attachment table show null.


Comments

Popular posts from this blog

android - getbluetoothservice() called with no bluetoothmanagercallback -

sql - ASP.NET SqlDataSource, like on SelectCommand -

ios - Undefined symbols for architecture armv7: "_OBJC_CLASS_$_SSZipArchive" -