sql - where clause in mysql pivot qyery -


तालिका

  + ------- ---------- + ------------ + -------------- + | Submit_time | Field_name | Field_value | + ----------------- + ------------ + -------------- + | 1410098760.2225 | टोपी | 40128 | | 1410098760.2225 | प्रांत | बोलोग्ना | | 1410098760.2225 | स्थानीयता | बोलोग्ना | | 1410098760.2225 | अनिरुद्ध | वाया रोमा | | 1410098760.2225 | ज़ोडियाको | पेसी | | 1410098760.2225 | सालाना | 1 9 64 | | 1410098760.2225 | मेस | 03 | | 1410098760.2225 | जीरोनो | 10 | | 1410098760.2225 | कार्ड | 12 | + ----------------- + ------------ + -------------- +   

यह मेरी क्वेरी है,

  SELECT submit_time, अधिकतम (यदि (field_name = 'nome', field_value, NULL)) नोम, मैक्स (यदि (field_name = मैक्स (यदि (फ़ील्ड_नाम = 'एननो', फ़ील्ड_वल्यू, नल)) एएसए, मैक्स (मैक) (जैसा कि (फील्ड_नाम = 'मेसे', फ़ील्ड_व्यू, नल) अगर (फ़ील्ड_नाम = 'कार्ड', फ़ील्ड_वल्यूए, नल)) एएस कार्ड, मैक्स (यदि (फ़ील्ड_नाम = 'स्थानीयता', फ़ील्ड_वल्यू, नल)) स्थानीयता के रूप में, मैक्स (यदि (फ़ील्ड_नाम = 'इंडीरिज्ओ', फ़ील्ड_वल्यू, नल)) मैसेज (यदि (फ़ील्ड_नाम = 'सेल्यूलर', फ़ील्ड_व्यू, यदि (फ़ील्ड_नाम = 'ईमेल', फ़ील्ड_वल्यू, नल)) ईमेल, अधिकतम (यदि (फ़ील्ड_नाव = 'टेलि', फ़ील्ड_वल्यूए, नल) NULL)) के रूप में एसएल सेलर द्वारा zhter9mu3cf7dbplugin_submits GROUP submit_time  

यह सही काम करता है लेकिन अगर मैं जहां एक खंड का उपयोग

  जहां field_name = 'card' और field_value = 12  

सभी फ़ील्ड खाली हैं इसका समाधान करने के लिए कोई भी सुझाव?

समस्या यह है कि जब आप WHERE आपके field_name = 'card' और field_value = 12 को फ़िल्टर करने के लिए आप एक पंक्ति वापस लौट सकते हैं।

आप मूल रूप से पंक्तियों को अन्य field_names । आप अपने नमूना डेटा के साथ निम्नलिखित करके यह देख सकते हैं:

  से चुनें * जहां से field_name = 'card' और field_value = 12  

देखें। यह केवल field_name और field_value के साथ आपको पंक्तियों का अनुरोध करता है। अन्य कॉलमों में डाल करने के लिए और कुछ भी नहीं है ताकि आप रिक्त हो जाएं।

यदि आप submit_time को वापस करना चाहते हैं, तो उसके समान field_name और < कोड> क्षेत्र_माना आप फ़िल्टर कर रहे हैं, तो आप उपयोग कर सकते हैं:

  SELECT submit_time, अधिकतम (यदि (field_name = 'nome', field_value, NULL)) नोम, मैक्स (यदि मैक्स (यदि (फ़ील्ड_नाम = 'सालाना', फ़ील्ड_व्यू, नल)) साल के रूप में (फ़ील्ड_नाम = 'गियोर्नो', फ़ील्ड_वल्यूए, नल)) एएस गियोर्नो, मैक्स (यदि (फ़ील्ड_नाम = 'मेसे', फ़ील्ड_व्यू, नल)) मैक्स (यदि (फ़ील्ड_नाम = 'कार्ड', फ़ील्ड_वल्यू, नल)) एएस कार्ड, मैक्स (यदि (फ़ील्ड_नाम = 'स्थानीयता', फ़ील्ड_वल्यूए, नल)) स्थानीयता के रूप में, अधिकतम (यदि (फ़ील्ड_नाम = 'इंडीरिज्ओ', फ़ील्ड_वल्यू, नल ) (यदि (फ़ील्ड_नाम = 'ईमेल', फ़ील्ड_वल्यू, NULL)) एएस ईमेल, मैक्स (यदि (फ़ील्ड_नाम = 'टेलि', फ़ील्ड_वल्यूए, नल)) एएस टेली, मैक्स (यदि (फ़ील्ड_नाम = 'सेल्यूलर' , फ़ील्ड_वल्यूए, नल)) सेल्युलर के रूप में प्रस्तुत करता है जहां से मौजूद है (से चुनें 1 से एफ होफ़ेफ़.फ़ील्ड_ना मुझे = 'कार्ड' और एफ.फ़ील्ड_वल्यू = '12' और एफ.submit_time = s.submit_time) GROUP BY submit_time;  

देखें


Comments

Popular posts from this blog

c# - SignalR: "Protocol error: Unknown transport." when navigating to hub -

class - Kivy: how to instantiate a dynamic classes in python -

Registering an Interceptor For All Interface Implementaions in Castle Windsor -