2016-05-14 108 views
0

當我嘗試在mysql工作臺中使用子查詢運行select語句時,我遇到沒有結果的OK響應(查詢成功)。我確信代碼是正常的,mysql也沒有發現任何錯誤,但我不知道爲什麼我沒有得到任何答案。Mysql返回正常但沒有結果

下面的代碼

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

那麼,你有沒有檢查存在匹配查詢的記錄?你可以展示他們嗎? –

回答

1

看起來你是一個這樣的查詢產生的結果後:

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) 

有幾個與原始查詢的問題。 SELECT列表中的子查詢最多可以返回一行,否則MySQL將引發錯誤。

+0

謝謝@ spencer7593很多,它工作完美,我學到了很多 –