Ich hoffe, es geht euch allen gut! :D
Ich benötige deine Hilfe, um die folgenden Aufgaben zu erledigen:
Ich muss die folgende Tabelle erstellen:
Datum | Einnahmen aus neuen Transaktionen | Einkommensverlust durch Abwanderung | Einnahmen aus Upsells |
---|---|---|---|
1. Januar 2022 | 1000$ | -500 $ | 1000$ |
2. Januar 2022 | 2000$ | -200 $ | 2000$ |
Was hier passiert, ist, dass ich zum Sammeln und Aggregieren dieser Daten drei verschiedene Tabellen benötige:
Transaktionen, Abwanderung und Upsells
HandelTabelle:
Handel | Frist | Ergebnis |
---|---|---|
Deal #1 | 1. Januar 2022 | 500 $ |
Deal #2 | 1. Januar 2022 | 500 $ |
Deal #3 | 2. Januar 2022 | 1500$ |
Deal #4 | 2. Januar 2022 | 500 $ |
VerlustTabelle:
Verlust | Frist | Einkommensverlust |
---|---|---|
Abwanderung #1 | 1. Januar 2022 | -500 $ |
Abwanderung #2 | 2. Januar 2022 | -100 $ |
Abwanderung #3 | 2. Januar 2022 | -100 $ |
Upsell-Liste:
Upsell | Frist | Ergebnis |
---|---|---|
Upsell Nr. 1 | 1. Januar 2022 | 2000$ |
Upsell #2 | 1. Januar 2022 | -1000 $ |
Upsell #3 | 2. Januar 2022 | 2000$ |
Die erste Frage lautet: Wie kann ich einen SQL-Befehl erstellen, um dies zu erreichen?
Vielen Dank im Voraus.
您可以使用子查询对流失表和追加销售表进行聚合。
如下所示:
https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=0875563c9ab7f9385711dde21cd98b47 一个>
请不要将日期存储为文本,您将面临很多困难。如果你想格式化日期,你可以使用 DATE_FORMAT
注意。如果交易表中存在其他日期,而其他两个表中不存在,则会从结果中过滤掉该日期。如果您想要它,请使用
LEFT JOIN
而不是INNER JOIN
。**编辑
https://dbfiddle.uk/S61QeLBX