简体   繁体   English

mySQL:从另一个表中选择一个count(*)?

[英]mySQL: Select and a count(*) from different table?

I have two tables: 1 Table wccrm_orders where all orders are stored, and a table wccrm_kunden where all the user data is stored. 我有两个表:1表wccrm_orders存储所有订单,表wccrm_kunden存储所有用户数据。 In wccrm_orders, I have a date-field "ordered_date" and in wccrm_kunden a date-field "Anprobe" 在wccrm_orders中,我有一个日期字段“ ordered_date”,在wccrm_kunden中有一个日期字段“ Anprobe”

When I want to select the wccrm_orders I use that code: 当我想选择wccrm_orders时,我使用该代码:

Select Year(wccrm_orders.ordered_date) as Jahr,
Month(wccrm_orders.ordered_date) as Monat, round(sum(wccrm_orders.preis)) as Summe, 
count(*) as Anzahl from wccrm_orders 
GROUP BY YEAR(wccrm_orders.ordered_date), MONTH(wccrm_orders.ordered_date)

When I want to count(*) all the appointments from wccrm_kunden.anprobe I use this code: 当我想计算(*)来自wccrm_kunden.anprobe的所有约会时,我使用以下代码:

Select Year(wccrm_kunden.anprobe) as Jahr, Month(wccrm_kunden.anprobe) as
Monat, count(*) as Anzahl from wccrm_kunden where wccrm_kunden.status = 1 
GROUP BY YEAR(wccrm_kunden.anprobe), MONTH(wccrm_kunden.anprobe)

How can I combine these codes? 如何合并这些代码? How can I achieve it, to get the numbers of trials (appointments) into the first SELECT? 我如何实现这一点,以便将试验(约会)的次数添加到第一个SELECT中?

Thank you very much for your help! 非常感谢您的帮助!

BR, BR,

Stefan 斯特凡

A couple of sub-queries may work: 几个子查询可能起作用:

SELECT A.Jahr, A.Monat, A.Summe, A.Anzahl, B.AnzahlB
FROM 
    (SELECT Year(wccrm_orders.ordered_date) as Jahr,
       Month(wccrm_orders.ordered_date) as Monat,
       round(sum(wccrm_orders.preis)) as Summe, 
       count(*) as Anzahl 
    FROM   wccrm_orders 
    GROUP BY
       YEAR(wccrm_orders.ordered_date),
       MONTH(wccrm_orders.ordered_date)) AS A
    LEFT OUTER JOIN
    (SELECT Year(wccrm_kunden.anprobe) as Jahr,
        Month(wccrm_kunden.anprobe) as Monat,
        count(*) as AnzahlB
    FROM wccrm_kunden 
    WHERE wccrm_kunden.status = 1 
    GROUP BY 
        YEAR(wccrm_kunden.anprobe),
        MONTH(wccrm_kunden.anprobe)) AS B
    ON A.Jahr = B.Jahr AND A.Monat = B.Monat

(Sorry, don't have the schema for this DB, so there may be a syntax error (or three!) in this code, but hopefully you get the idea.) (抱歉,没有此数据库的架构,因此该代码中可能存在语法错误(或三个!),但希望您能理解。)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM