Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

पिवट टेबल mySQL के साथ एक विशिष्ट मान पूछें

इस क्वेरी का प्रयास करें। मुझे लगता है कि आप HAVING . का उपयोग कर सकते हैं खंड।

SELECT id, lead_id, form_id, 
MAX(case when field_number = 1 then value end) username, 
MAX(case when field_number = 7 then value end) email, 
MAX(case when field_number = 6 then value end) tournament_name, 
MAX(case when field_number = 3 then value end) primary_golfer, 
MAX(case when field_number = 4 then value end) backup_golfer, 
MAX(case when field_number = 5 then value end) date, 
MAX(case when field_number = 8 then value end) tournament_id 
FROM `wp_rg_lead_detail` GROUP BY lead_id
HAVING tournament_id = '5b409692-e9ed-486e-8d77-7d734f1e023d'

sqlFiddle sqlFiddle में मेरे पास 2 अलग-अलग टूर्नामेंट_आईडी और HAVING . के लिए नमूना डेटा है खंड लागू किया जाता है ताकि उस टूर्नामेंट_आईडी के लिए केवल मान लौटाए जा सकें, आप HAVING को निकालने का प्रयास कर सकते हैं और देख सकते हैं कि यह 2 पंक्तियाँ लौटाता है।

आपका ग्रुप बाय मानक नहीं है क्योंकि आप आईडी और फॉर्म_आईडी भी चुन रहे हैं। मेरा सुझाव है कि आप आईडी छोड़ दें या MIN(id) या MAX(id) और GROUP BY lead_id,form_id का उपयोग करें



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. `काढ़ा सेवाएं शुरू mysql` और `mysql.server start` . के बीच अंतर

  2. MySQL तालिका को क्रैश के रूप में चिह्नित किया गया है और अंतिम (स्वचालित?) मरम्मत विफल हुई है

  3. क्रॉस जॉइन के साथ पंक्तियाँ> कॉलम संयोजन कैसे खोजें? [एसक्यूएल]

  4. चयन के लिए MySQL पंक्ति क्रम क्या है * table_name से;?

  5. MySQL दिनांक/समय मान को System.DateTime में कनवर्ट करने में असमर्थ। 0/0/0000 0:00:00 मान संग्रहीत नहीं कर सका?