where clause - mysql select from column if not equal 0, else select from another column -


मेरे पास यह प्रश्न है

  SELECT products। *, Colors.name as colorName, बनाता है .name makeName, genders.name genderName, group_concat (categories.name द्वारा DISTINCT categories.name आदेश) distCategories के रूप में, group_concat (subcategories.name द्वारा DISTINCT subcategories.name आदेश) के रूप में distSubcategories के रूप में, group_concat (बनाता DISTINCT makes.name आदेश के रूप में .name) distMakes, group_concat (products_availability.size द्वारा DISTINCT products_availability.size आदेश) के रूप में उत्पादों से distSizes LEFT products.color = colors.id बायाँ शामिल हों पर रंग के शामिल होते ही पर products.make = makes.id वाम उत्पादों पर लिंगों में शामिल हों बनाता है। लिंग = genders.id बाईं तरफ products_and_categories.product = products.id बाईं तरफ products_and_subcategories.product = products.id बायाँ शामिल हों products_availability शामिल हों products_and_subcategories पर products_availability.product = products.id वाम products_and_categories शामिल हों पर products_and_categories.category = श्रेणी श्रेणियों में शामिल हों s.id बायाँ शामिल हों पर products_and_subcategories.subcategory = subcategories.id कहां products.gender में (5, 6, 7) और products.type = 5 और $ जहां ग्रुप द्वारा (products.id) द्वारा products.id एएससी आदेश   

और मैं उनकी कीमतों के आधार पर कुछ उत्पादों का चयन करने में सक्षम होना चाहता हूं।

यदि कॉलम sale_price नहीं है, तो मैं चाहता हूं कहते हैं कि कहां sale_price & lt; =: मूल्य , लेकिन अगर sale_price 0 मैं जहां कीमत को & lt कहना चाहता हूँ है, =:। मूल्य

मूल रूप से कीमतों के आधार पर फ़िल्टर करते समय, मैं मूल कीमत को ध्यान में नहीं रखना चाहता, अगर उत्पाद बिक्री पर है और इसके पास sale_price है, अन्यथा, अगर यह बिक्री पर नहीं है I क्वेरी को मूल्य कॉलम पर प्रदर्शित करेगा

मैंने मामला

  $ जहां = 'मामले के साथ कोशिश की है जब उत्पादों.sale_price & gt; 0 THEN products.sale_price & lt; =: मूल्य WHEN products.sale_price = 0 THEN products.price & lt; =: मान ';   

लेकिन यह काम नहीं करता है।

यह भी ध्यान रखें कि कॉलम का डिफ़ॉल्ट मान 0 हो रहा है DIGIT और नहीं NULL

क्वेरी के निर्माण के बारे में कोई भी मदद की सराहना की जाएगी।

धन्यवाद।

अपने मामले में कुछ संशोधनों के साथ, मुझे लगता है कि आप इसे काम कर सकते हैं। की तरह कुछ का प्रयास करें:।

  का चयन करें उत्पादों *, colors.name colorName, makes.name makeName के रूप में, genders.name genderName, group_concat (categories.name द्वारा DISTINCT categories.name आदेश) के रूप में के रूप में के रूप में distCategories, group_concat (subcategories.name द्वारा DISTINCT subcategories.name आदेश) distSubcategories, group_concat (makes.name द्वारा DISTINCT makes.name आदेश) distMakes के रूप में, group_concat (products_availability.size द्वारा DISTINCT products_availability.size आदेश) के रूप में उत्पादों से distSizes LEFT के शामिल होते ही products.color पर रंग = colors.id बायाँ शामिल हों पर बनाता है products.make = makes.id बाईं तरफ products.gender = genders.id बायाँ शामिल हों लिंग के लोगों को products_and_categories.product = products.id वाम products_and_categories शामिल हों products_and_subcategories.product पर products_and_subcategories शामिल हों = products.id बाईं तरफ products_availability.product = products.id products_availability शामिल हों बाईं तरफ products_and_categories.category = categories.id श्रेणियों में शामिल हों वाम products_and_subcate पर उप-श्रेणियों में शामिल हों Gories.subcategory = subcategories.id WHERE उत्पादों.sale_price = मामले जब उत्पादों.sale_price & gt; 0 तो products.sale_price & lt; = मूल्य और के products.price & lt; = मूल्य अंत और में products.gender (5, 6, 7) और products.type = 5 द्वारा (products.id) products.id एएससी द्वारा आदेश ग्रुप;    

Comments

Popular posts from this blog

c - Mpirun hangs when mpi send and recieve is put in a loop -

python - Apply coupon to a customer's subscription based on non-stripe related actions on the site -

java - Unable to get JDBC connection in Spring application to MySQL -