我试图从两个表中选择记录。

请查看表结构的屏幕截图:

listing



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语句,它似乎可以工作。

我怎么解决这个问题?

最佳答案

我认为您想要的是左联接,因为您希望列出列表的所有记录以及来自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的地方加入

关于php - 来自2个表的PHP MySQL SELECT不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36574105/

10-13 04:47