我正在尝试从两个表中选择记录。
请参阅表结构的屏幕截图:
表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语句,它似乎可以工作。
我该如何解决这个问题?
答案 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