我试图做几个表上的左连接。但是,它显示了所有左连接表结果。主表是'a',但它显示重复的id,因为它的id在其他表上多次存在。我怎样才能选择其他表格上的第一行?或者在表格'a'上选择不同的结果?这里是我的SQLMYSQL:左只加入第一行或选择不同
SELECT a.adsId, a.adsName, a.adsUrl, a.sourceFileName, c.userName, d.preferenceId, e.ppv FROM y5ads_new.ads_source a
INNER JOIN y5ads_new.campaign b ON a.campaignId=b.campaignId
INNER JOIN y5ads_new.system_member c ON b.createdBy=c.memberId
INNER JOIN y5ads_new.ads_preference d ON a.adsId=d.adsId
INNER JOIN y5ads_new.ads_rates e ON a.adsId=e.adsId
WHERE a.status='2' AND a.deleted='False' AND CURDATE() BETWEEN a.startDate and a.endDate
AND b.status='2' AND b.deleted='False' AND CURDATE() BETWEEN b.startDate and b.endDate
AND d.deleted='False' AND CURDATE() BETWEEN d.startDate and d.endDate
AND e.is_active='1' AND CURDATE() BETWEEN e.startDate and e.endDate
ORDER BY a.adsId DESC, d.preferenceId DESC, e.id DESC
如果你喜欢,可以考虑下列行为这个简单的两步过程:1.如果您还没有这样做,提供适当的DDL(和/或sqlfiddle),以便我们可以更容易地复制问题。 2.如果您尚未这样做,请提供与步骤1中提供的信息相对应的所需结果集。 – Strawberry 2014-09-26 09:09:31