我有一個包含個人成員記錄到期日期的表。每一行包含四個字段:將兩個sql查詢合併爲一個的問題
ID | Next_Due | Next_Due_Missed | Amount
=============================================================
123 | 2010-12-05 | NULL | 41.32
456 | 2010-12-10 | 2010-12-05 | 21.44
789 | 2010-12-20 | 2010-12-10 | 39.99
ID是每個成員
下一個到期的唯一ID - 是他們定期租用期的
Next_Due_Missed的下一個到期日,如果有一個只有填充收集第一輪訂閱付款時出錯。
金額屬於認購金額。
我的目標是創建一個sql查詢來檢查next_due_missed是否存在並且不爲空。如果是這樣,請使用該值作爲「$日期」。如果沒有,請設置$ date = next_due的值
這很容易完成,除非我的結果在正常情況下由Next_Due分組,並且如果將我目前的方式組合,將省略next_due_missed。
每個付款期限,可能有600+條記錄,next_due等於所需的日期(並且10-15等於next_due_missed)。
我當前的查詢是:
$stmt = $db->prepare("SELECT next_due, next_due_missed FROM table_name WHERE (next_due > CURDATE() OR next_due_missed > CURDATE()) GROUP BY next_due ASC");
爲next_due這僅返回結果但是。省略GROUP BY子句會返回數百個結果(但我需要在此階段進行分組)。
同樣在稍後的時間點,我需要打破這些個人記錄,並根據'next_due'和'next_due_missed'值創建付款記錄。
任何想法我失蹤?
哇 - 多麼簡單的解決方案!非常感謝你的幫助!我甚至沒有意識到DISTINCT上的功能 – JM4 2010-12-06 23:48:57