Sorry für verwirrende Titel, wusste nicht, wie dies zu wording.Abrufen des Quotienten von zwei SUM (col) JOIN auf verschiedenen Werten
Ich habe eine Tabelle der Ereignisse und eine Tabelle der Wetten auf diese Ereignisse. Ich erhalte bereits den Gesamteinsatz für jedes Event, aber ich möchte auch die Quoten holen (aka, der Quotient aus der Summe für ein Team geteilt durch die Summe des anderen Teams). Der Teilnehmer, auf den gewettet wird, ist in der horse
Spalte der data_bets
Tabelle gespeichert.
Zum Beispiel möchte ich etwas hinzufügen wie:
SELECT
SUM(data_bets.amount) WHERE data_bets.horse = data_events.challenger
/
SUM(data_bets.amount) WHERE data_bets.horse = data_events.contestant
AS bet_odds
meine vorhandene Abfrage unter:
SELECT *,
SUM(data_bets.amount) AS total_pot,
COUNT(data_bets.member) AS total_bets,
COUNT(data_votes.member) AS total_votes,
data_platforms.name AS platform_name, data_platforms.icon AS platform_icon
FROM data_events
LEFT JOIN data_bets ON data_bets.event=data_events.id
LEFT JOIN data_votes ON data_votes.content_type=2 AND data_votes.content_id=data_events.id
LEFT JOIN data_platforms ON data_platforms.id=data_events.platform
WHERE status=1
GROUP BY data_events.id
ORDER BY total_pot DESC
Ist dies möglich, mit einer Abfrage zu tun? Wenn möglich, würde ich es vorziehen, beide challenger_odds
und contestant_odds
, wie dies zu holen:
SELECT
SUM(data_bets.amount) WHERE data_bets.horse = data_events.challenger
/
SUM(data_bets.amount) WHERE data_bets.horse = data_events.contestant
AS challenger_odds,
SUM(data_bets.amount) WHERE data_bets.horse = data_events.contestant
/
SUM(data_bets.amount) WHERE data_bets.horse = data_events.challenger
AS contestant_odds
ich jetzt unsere bedingte Aggregat-Anweisung zu holen oben/unten Stimmen die Tabelle data_votes, aber ich habe Probleme. Darf ich diese Frage mit der neuen Abfrage aktualisieren? – SISYN
@DanL. . . Sie sollten eine andere Frage stellen. –