मैं एक SQL क्वेरी चला रहा हूं जो वह नहीं है जो मैं चाहता हूं। वर्तमान में मैं s.status
= रद्द किए गए ग्राहकों को पकड़ रहा हूं लेकिन यह बिल्कुल सही नहीं है।
s.status
में "सक्रिय, रद्द, सक्रिय, रोका गया, रद्द" जैसी जानकारी हो सकती है... यानी कई अलग-अलग राज्य।
मैं केवल उन ग्राहकों को कैसे पकड़ सकता हूं जहां अंतिम स्थिति "रद्द" है?
SELECT s.customer_id, GROUP_CONCAT(s.status) AS status_list, GROUP_CONCAT(s.created) AS created_date_list, GROUP_CONCAT(s.start_date) AS start_date_list, max(c.customer_name), max(c.customer_email), max(c.updated_profile), max(p.newsletter_sub)
from imp_subscriptions s
LEFT JOIN imp_customerdata c ON c.user_id = s.customer_id
LEFT JOIN imp_communication_preference p ON c.user_id = p.user_id
WHERE s.status = 'cancelled' AND p.newsletter_sub = 'yes'
GROUP BY customer_id
0
Rob
31 जुलाई 2019, 18:06
1 उत्तर
सबसे बढ़िया उत्तर
जाँच करना चाहते हैं कि अंतिम 9 वर्ण रद्द कर दिए गए हैं? इसे इस तरह करो:
where lower(right(rtrim(s.status),9)) = 'cancelled'
3
Hogan
31 जुलाई 2019, 18:09
संबंधित सवाल
नए सवाल
mysql
MySQL एक फ्री, ओपन सोर्स रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) है जो स्ट्रक्चर्ड क्वेरी लैंग्वेज (SQL) का उपयोग करता है। इस टैग को अन्य DBs जैसे SQL Server, SQLite आदि के लिए उपयोग न करें। वे विभिन्न DB हैं जो सभी डेटा का प्रबंधन करने के लिए SQL की अपनी बोलियों का उपयोग करते हैं।