मेरे पास स्ट्रीम के लिए अगली निर्धारित आइटम को पकड़ने के लिए निम्न चयन कथन है। यदि कोई मिलान पंक्ति नहीं है, तो मैं इसे डिफ़ॉल्ट मान वापस करना चाहता हूं। यहाँ लाइन मैं उपयोग कर रहा हूँ है:कोई पंक्ति नहीं मिली है यदि कोई पंक्ति नहीं मिली
SELECT `file` FROM `show`, `schedule`
WHERE `channel` = 1 AND `start_time` <= UNIX_TIMESTAMP()
AND `start_time` > UNIX_TIMESTAMP()-1800 AND `show`.`id` = `schedule`.`file`
ORDER BY `start_time` DESC LIMIT 1
कि सबसे हाल ही में अनुसूचित आइटम हड़पने चाहिए, लेकिन नहीं करता है, तो यह क्वेरी से पहले से अधिक उम्र के 30 मिनट है। हालांकि, यदि उपयोगकर्ता कुछ भी शेड्यूल नहीं करता है, तो मुझे एक डिफ़ॉल्ट मान चाहिए, ताकि कुछ वास्तव में स्ट्रीम पर चल सके।
SELECT COALESCE(`file`, 'default.webm') FROM `show`, `schedule`...
और::
SELECT IFNULL(`file`, 'default.webm') FROM `show`, `schedule`
हालांकि, यह हमेशा एक खाली परिणाम देता है अगर कोई भी पंक्ति पाए जाते हैं मैं निम्नलिखित की कोशिश की है। मैं इसके बजाय डिफ़ॉल्ट मान कैसे वापस कर सकता हूं?
शानदार सामग्री! लेकिन इस अवधारणा को एक प्रश्न पर कैसे लागू किया जा सकता है जो हमारे मामले में एक के बजाय कई पंक्तियां देता है? – Vectoria
यह वास्तव में एक अच्छा समाधान नहीं है क्योंकि टॉमस नीचे बताता है (संभवतः यदि आप प्राथमिक कुंजी मान पर पूछते हैं)। – Pierre