来自2个表的PHP MySQL SELECT不起作用

时间:2016-04-12 13:00:42

标签: php mysql mysqli

我正在尝试从两个表中选择记录。

请参阅表结构的屏幕截图:

listing

listing table

c_profile

c_profile

我想显示列表的记录和c_profile表中的一些记录。

SELECT c_profile.c_name,c_profile.logo, c_profile.email, listing.id, listing.title, listing.type,listing.job_desc,listing.c_id, listing.time, listing.vote_up from c_profile,listing where c_uid=c_id

上述陈述运作正常,但唯一的问题是它没有选择" vote_up"结果

但是,如果我使用没有WHERE的普通SELECT语句,它似乎可以工作。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

我认为你想要的是一个左连接,因为你想要列出表的所有记录和c_profile表中的一些记录。

SELECT c_profile.c_name,
       c_profile.logo, 
       c_profile.email, 
       listing.id, 
       listing.title, 
       listing.type,
       listing.job_desc,
       listing.c_id, 
       listing.time, 
       listing.vote_up
FROM listing
LEFT JOIN c_profile ON c_uid=c_id

通过这种方式,您可以保留列出的所有记录,并且只能在可以找到匹配的c_profile

的地方加入

答案 1 :(得分:0)

SELECT c_profile.c_name,c_profile.logo,c_profile.email,listing.id,listing.title,listing.type,listing.job_desc,listing.c_id,listing.time,listing.vote_up from listing left join c_profile ON c_profile .c_uid =列出.c_id