phpMyAdmin
 sql >> डेटाबेस >  >> Database Tools >> phpMyAdmin

कुछ कॉलम के समूह में प्रदर्शित करने के लिए SQL कथन

प्रारंभ में, मैं यही लेकर आया था:

SELECT s.date, s.day, COALESCE(GROUP_CONCAT(bm.worker SEPARATOR ' '),'') as Morning,COALESCE(GROUP_CONCAT(be.worker SEPARATOR ' '),'') as Evening
FROM schedule s LEFT JOIN 
block bm ON s.id = bm.schedule_id AND bm.shift=1 LEFT JOIN 
block be ON s.id = be.schedule_id AND be.shift=2
GROUP BY s.date,s.day

परिणाम:

DATE        DAY       MORNING       EVENING
22/09/2014  Monday    Ahmad Abdul   Faris Faris
23/09/2014  Tuesday                 Iqbal

Fiddle में परिणाम

जैसा कि आप देख सकते हैं इवनिंग फील्ड दो बार फ़ारिस शामिल है . इसलिए मैंने दो प्रश्नों का उपयोग किया और उन परिणामों में शामिल हो गया। इस तरह:

SELECT T1.date,T1.day,COALESCE(T1.Morning,'') as Morning,COALESCE(T2.Evening,'') as Evening FROM
    (SELECT s.date, s.day, GROUP_CONCAT(bm.worker SEPARATOR ' ') as Morning
     FROM schedule s LEFT JOIN 
     block bm ON s.id = bm.schedule_id AND bm.shift=1
     GROUP BY s.date,s.day) T1
  JOIN
    (SELECT s.date, s.day,GROUP_CONCAT(be.worker SEPARATOR ' ') as Evening
     FROM schedule s LEFT JOIN 
     block be ON s.id = be.schedule_id AND be.shift=2
     GROUP BY s.date,s.day) T2 
  ON T1.Date=T2.Date AND T1.Day=T2.Day

परिणाम:

DATE        DAY      MORNING        EVENING
22/09/2014  Monday   Ahmad Abdul    Faris
23/09/2014  Tuesday                 Iqbal

परिणाम देखें SQL Fiddle

स्पष्टीकरण:

हम सुबह और शाम के लिए अलग-अलग चयन कर रहे हैं, फिर हम इन दो तालिकाओं को तारीख और दिन के साथ जोड़ रहे हैं। और अंत में परिणाम सम्मिलित क्वेरी से प्राप्त किया जाता है।

GROUP_CONCAT समान दिनांक और दिन वाले फ़ील्ड को समूहीकृत करने के लिए उपयोग किया जाता है। हम SEPARATOR ' ' . का उपयोग कर सकते हैं अंतरिक्ष के लिए विभाजक के रूप में। अगर आप SEPARATOR ' ' . को हटाते हैं , आपको कॉमा (,) से अलग परिणाम मिलेगा।

COALESCE रिक्त स्ट्रिंग के साथ शून्य मानों को बदलने के लिए प्रयोग किया जाता है ('' )।



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. अपने डेटाबेस को प्रबंधित करने के लिए phpMyAdmin का उपयोग करें

  2. स्थापना के दौरान phpmyadmin त्रुटि निर्दिष्ट 'पोर्ट' के लिए खाली मान।

  3. PhpMyAdmin स्रोतों में अपठनीय वर्ण

  4. phpMyAdmin में परिभाषित आंतरिक संबंध क्या हैं?

  5. Mysql संस्करण phpmyadmin में अलग है