में केवल पहला रिकॉर्ड खोजें, मैं सदस्य रिकॉर्ड्स की एक सूची प्रदर्शित करने की कोशिश कर रहा हूं, और मेरे पास कुछ टेबल हैं जो मैं उपयोग करने के लिए उपयोग कर रहा हूं।MySQL सबक्वायरी - बाएं जॉइन
आसान हिस्सा है यही कारण है कि। जिस भाग में मुझे मदद की ज़रूरत है वह उस तालिका के साथ है जिसमें प्रत्येक सदस्य रिकॉर्ड के लिए कई रिकॉर्ड हैं: लॉगिन इतिहास
मैं प्रत्येक सदस्य रिकॉर्ड के लिए केवल पहली पंक्ति प्रदर्शित करना चाहता हूं, जो लॉगिन इतिहास तालिका में मौजूद है। वैकल्पिक रूप से, मैं फ्लॉप फ्लिप और लॉगिन इतिहास तालिका में पिछले रिकॉर्ड प्रदर्शित करने के लिए, साथ ही कर सकते हैं।
यहाँ मैं अब तक क्या कर लिया है:
SELECT m.memberid, m.membername, m.gender, mp.phone
FROM tbl_members m,
tbl_members_phones mp,
tbl_members_addresses ma
WHERE m.defaultphoneid = mp.phoneid
AND m.defaultaddressid = ma.addressid
तो रिटर्न कि क्या उम्मीद है।
tbl_members_login_history
से 2 कॉलम मैं लौटा परिणाम में जोड़ना चाहता हूं: mh। loggedtime
, एमएच। ipaddy
मैं tbl_members_login_history
जोड़ने पता एक वाम के रूप में डुप्लिकेट वापसी होगी शामिल हों, तो मैं सोच रहा हूँ एक Subquery आवश्यकता यहाँ वहाँ होना चाहिए ताकि memberid
कि tbl_members_login_history
में मौजूद है के लिए सिर्फ 1 रिकॉर्ड वापस जाने के लिए है,।
मुझे क्या चिंता है कि अगर इतिहास तालिका में कोई रिकॉर्ड मौजूद नहीं है, तो भी मैं उस सदस्य की जानकारी प्रदर्शित करना चाहता हूं, लेकिन इतिहास कॉलम को न्यूल के रूप में छोड़ दें।
यह एक सबक्वेरी घटना होगा? और यदि हां, तो उस प्रकार के LIMIT को कैसे जोड़ता है?
जिज्ञासा से बाहर, किसी सदस्य के लिए आवश्यक फ़ोन और पता आज़मा सकते हैं? यदि नहीं, तो मुझे नहीं लगता कि आपकी क्वेरी अन्य सदस्य की जानकारी वापस आ जाएगी अगर उनमें से एक तरह से लिखा है याद आ रही है है। – Sam
इस मामले में, हाँ। लेकिन आप सही हैं, सदस्य को मौजूदा रिकॉर्ड के बिना परिणाम में वापस नहीं किया जाएगा। – coffeemonitor