关于mysql和php查询的问题

时间:2010-12-28 01:42:36

标签: php mysql

我是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>

任何帮助表示赞赏...

2 个答案:

答案 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