मेरे पास दो चयन हैं जो मैं वर्तमान में यूनियन के रूप में सफलतापूर्वक चल रहा हूं।MYSQL यूनियन DISTINCT
(SELECT a.user_id,a.updatecontents as city,b.country
FROM userprofiletemp AS a
LEFT JOIN userattributes AS b ON a.user_id=b.user_id
WHERE typeofupdate='city')
UNION DISTINCT
(SELECT a.user_id,c.city,c.country
FROM userverify AS a
LEFT JOIN userlogin AS b ON a.user_id=b.user_id
LEFT JOIN userattributes AS c ON a.user_id=c.user_id
WHERE b.active=1 AND a.verifycity=0);
परिणाम इस तरह वापस आ:
100 Melbourne Australia
200 NewYork America
300 Tokyo Japan
100 Sydney Australia
पकड़ क्वेरी डुप्लिकेट user_id लाएगा (इस मामले में 100 में) है। पहली क्वेरी में विवरण मेरे लिए उदाहरण लेते हैं और यदि उपयोगकर्ता क्वेरी को दूसरी क्वेरी में दोहराया जाता है तो मुझे इसकी आवश्यकता नहीं है।
क्या यूनियन को कॉलम पर DISTINCT होने का कोई तरीका है? इस मामले में user_id? क्या उपर्युक्त कॉल करने का कोई तरीका है और डुप्लिकेट user_id प्राप्त नहीं है - दूसरा ड्रॉप करें। क्या मुझे क्वेरी को अलग-अलग लिखना चाहिए और यूनियन का उपयोग नहीं करना चाहिए। वास्तव में इसे एक प्रश्न के रूप में चाहते हैं - यदि आवश्यक हो तो मैं डुप्लिकेट को बाहर निकालने के लिए SELECT और PHP का उपयोग कर सकता हूं।
THX एडम
कोई मौका तुम मुझे सबक्वेरी और बाहरी एक समूह द्वारा के साथ सही दिशा में एक धक्का दे सकते में यूज़र आईडी? पहले ऐसा नहीं किया है, परीक्षण कर रहा है लेकिन वहां जल्दी नहीं हो रहा है ... – Adam
@Adam: एक उत्तर अपडेट किया गया। इस तरह क्वेरी कैसी दिख सकती है, लेकिन यह जांचने का कोई मौका नहीं है कि यह सही है या नहीं, – zerkms
यदि मैं यह जानना चाहता हूं कि 'x' में 'x GROUP BY user_id' का अर्थ है (मैंने भी एक ऑर्डर पढ़ा है ' द्वारा ... 'कहीं कहीं), आप किस दस्तावेज़/ट्यूटोरियल/लिंक की सिफारिश करेंगे? –