我是PHP和Mysql的新手,所以我很难绕过某些概念,我来找你专家提供建议和答案。
是否可以从两个表中检索信息而不将两者与1个查询相关联?如果这两个表没有任何共同点,那就是另一个词。如果是这样,查询语句可能是什么样的?
第二个问题。比方说,我有以下两个表:
表附属公司 id,affiliate_id,日期,点击次数表purchase_log ID,TOTAL_COST,date_purchased,affiliate_id
现在这两个表的“affiliate_id”是一个共同的关系。我想要做的是以表格格式检索如下所示的数据: 日期,点击,TOTAL_COST
我实际希望它生成当前月份的所有日期的日期,而点击次数仅为当天的点击次数,而且如果他们在当天购买了某些东西,则只有total_cost,它只是零。
我尝试了所有的东西,但却无法得到我想要的东西。到目前为止,我有这个问题。
SELECT purchase_log.date_purchased, purchase_log.total_cost,
DATE_FORMAT(affiliates.date,'%m-%d-%Y') AS date,
affiliates.r_clicks,affiliates.u_clicks
FROM `purchase_log`
LEFT JOIN `affiliates` ON purchase_log.affiliate_id = affiliates.affiliate_id
WHERE affiliates.affiliate_id = '{$_SESSION['member_id']}'
ORDER BY affiliates.id ASC"
上面会生成日期,但只会记录日期和点击次数是正确的,但是total_cost会显示每行不正确的费用,因为它应该只显示每个日期的费用,而不是每个日期的费用。< / p>
任何帮助表示赞赏...
答案 0 :(得分:0)
我假设购买日志在购买商品时只有一个条目,所以你实际上不想要左连接,因为当购买日志中没有匹配的记录时,左连接将返回结果...它应该看起来像这样我想想,但我没有完整的架构和一些数据要加载和测试。
SELECT SUM(pl.total_cost) AS total_cost,
DATE_FORMAT(a.date,'%m-%d-%Y') AS date,
SUM(a.r_clicks) AS r_clicks_total,
SUM(a.u_clicks) AS u_clicks_total
FROM purchase_log pl, affiliates a
WHERE a.affiliate_id = pl.affiliate_id
AND a.affiliate_id = '{$_SESSION['member_id']}'
ORDER BY a.id ASC
GROUP BY date;
答案 1 :(得分:0)
@是否有可能从两个表中检索信息而不将两者与1个查询相关联?如果这两个表没有任何共同点,那就是另一个词。如果是这样,查询语句可能是什么样的?
您可以使用UNION