2016-05-14 10 views
0

Wenn ich versuche, eine SELECT-Anweisung mit Unterabfragen in Mysql Workbench auszuführen, erhalte ich eine OK-Antwort ohne Ergebnisse (die Abfrage ist erfolgreich). Ich bin sicher, der Code ist in Ordnung und mysql findet auch keinen Fehler, aber ich weiß nicht, warum ich keine Antwort bekomme.Mysql, das OK aber ohne Ergebnisse zurückgibt

Hier ist der Code

SELECT date(created_at), 
    (SELECT 
      SUM(amount) AS topup_amount 
     FROM 
      wallet_transaction 
     WHERE 
      type = 'topup' 
     GROUP BY DATE(created_at)), 
    (SELECT 
      SUM(amount) AS admin_add_amount 
     FROM 
      wallet_transaction 
     WHERE 
      type = 'admin_add' 
     GROUP BY DATE(created_at)) 
FROM 
    wallet_transaction; 
+4

Nun, haben Sie überprüft, dass Datensätze vorhanden sind, die der Abfrage entsprechen? Kannst du es ihnen zeigen? –

Antwort

1

Es sieht aus wie Sie nach dem Ergebnis sind durch eine Abfrage wie folgt hergestellt:

SELECT DATE(wt.created_at)         AS dt_created 
    , IFNULL(SUM(IF(wt.type = 'topup' , wt.amount, 0)),0) AS topup_amount 
    , IFNULL(SUM(IF(wt.type = 'admin_add', wt.amount, 0)),0) AS admin_add_amount 
    FROM wallet_transaction wt 
GROUP BY DATE(wt.created_at) 

Es gibt ein paar Probleme mit der ursprünglichen Abfrage sind. Die Unterabfragen in der SELECT-Liste können höchstens eine Zeile zurückgeben, oder MySQL wird einen Fehler ausgeben.

+0

danke @ spencer7593 viel, es hat perfekt funktioniert, ich habe viel gelernt –

Verwandte Themen