我正在嘗試爲某人導出某種導出功能,將其客戶端導出爲CSV。 它有點工作,除了沒有得到預期的結果。債務人可以有多個訂閱(abonnement)。如果他將來至少有一次訂閱結束日期,那麼它是一個活躍的客戶,如果它沒有非活躍的客戶。如何獲得積極的客戶? SQL查詢
現在我有以下查詢:
SELECT debiteur.bedrijf_naam, adres.straat, adres.huisnr,
adres.huisnr_toev, adres.postcode, adres.plaats FROM debiteur
LEFT JOIN adres ON adres.debiteur_id = debiteur.id
LEFT JOIN abonnement ON abonnement.debiteur_id = debiteur.id
LEFT JOIN abonnement_site_rubriek ON abonnement_site_rubriek.abonnement_id = abonnement.id
WHERE adres.adres_rol = 'post' AND
abonnement_site_rubriek.rubriek_id IN (872,899) AND
abonnement.datum_dienst_tot < DATE(NOW())
GROUP BY debiteur.id
與此查詢,如果客戶有與過去的結束日期的任何預訂,即使它與未來的結束日期訂閱,它會顯示在不活躍的客戶。
colum datum_dienst_tot是訂閱結束日期。
如何通過查看所有客戶訂閱來使查詢返回僅非活動客戶?
誰能指點我正確的方向?
非常感謝!
你如何定義未來的結束日期? – DevelopmentIsMyPassion
您可以使用DATE_SUB和DATE_ADD向前移動NOW()日期,因此abonnement.datum_dienst_tot> DATE_SUB(NOW(),INTERVAL 7 DAY)表示在過去7天內處於活動狀態,因此<=在過去7天 – nrathaus
未來結束日期大於今天的日期 –