我试图从两个表中选择记录。
请查看表结构的屏幕截图:
表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/