如何从另一个表中获取不在第一个表中的值

时间:2015-10-07 08:30:05

标签: mysql sql

我希望从表2中获取c.cf_conditionc.cf_condition_valuec.cf_warranty的值。这些属性不在表1中。我使用了每个连接条件但没有发生任何事情。这些值可以使用内部联接显示,但没有WHERE p.cf_IsDailyDeal=1条件。如果我不对这个where子句那么我的所需行没有显示。我想获取三个属性但是使用where子句:

SELECT p.im_folder,
p.im_name,
p.cf_price_check,
p.category_id,
p.classifieds_id,
p.cf_price_check,
p.classifieds_id,
p.cf_title,
p.cf_addeddate,
p.cf_price,
(SELECT c.cf_condition FROM as_classifieds as c WHERE c.classifieds_id = p.classifieds_id),
(SELECT c.cf_condition_value FROM as_classifieds as c WHERE c.classifieds_id = p.classifieds_id),
(SELECT c.cf_warranty FROM as_classifieds as c WHERE c.classifieds_id = p.classifieds_id)
FROM as_index_classifieds as p 
WHERE p.cf_IsDailyDeal=1;

1 个答案:

答案 0 :(得分:0)

我不确定你在找什么,¿这不适合你吗?

SELECT 
p.im_folder,
p.im_name,
p.cf_price_check, 
p.category_id,
p.classifieds_id,
p.cf_price_check, 
p.classifieds_id,
p.cf_title, 
p.cf_addeddate, 
p.cf_price,
c.cf_condition, 
c.cf_condition_value, 
c.cf_warranty 
FROM as_index_classifieds as p 
LEFT JOIN as_classifieds as c 
ON p.classifieds_id = c.classifieds_id  
WHERE p.cf_IsDailyDeal=1;

这应该为表1中的行提供这3个属性,其id与表2相同,其中dailyDeal为1