मैं इस तरह एक पुरानी मेज है:कैसे शामिल होने के लिए mysql टेबल
user> id | name | address | comments
और अब मैं कुछ उन कुछ कारणों के लिए एक अन्य नाम है करने के लिए अनुमति देने के लिए एक "उर्फ" तालिका बनाने के लिए है। मैं इस तरह एक नया टेबल 'user_alias' बना लिया है:
user_alias> name | user
लेकिन अब मैं अपने गरीब एसक्यूएल स्तर की वजह से एक समस्या है ... दोनों तालिकाओं में शामिल होने के लिए कुछ इस तरह उत्पन्न करने के लिए:
1 | my_name | my_address | my_comments
1 | my_alias | my_address | my_comments
2 | other_name | other_address | other_comments
SELECT user.* FROM user LEFT JOIN user_alias ON `user`=`id`
लेकिन यह नहीं करता है:
मेरा मतलब है, मैं एक "चुनें ..." क्वेरी कि "उपयोगकर्ता" तालिका सभी उपयोगकर्ताओं और सभी उर्फ .. इस तरह के स्वरूप में ही रिटर्न बनाना चाहते मेरे लिए काम नहीं करता ..
बिल्कुल सही! यह समाधान है। मुझे नहीं पता कि यह सबसे अच्छा है, लेकिन यह काम करता है! केवल एक छोटी सी गलती: चयन user.name, user.address, से उपयोगकर्ता यूनिअन user.comment सभी चयन user_alias.alias, user.address, user.comment उपयोगकर्ता भीतर से user.id = user_alias पर user_alias शामिल हों। उपयोगकर्ता नाम से आदेश – Ivan
ओह, अब मैं आपकी जॉइन देखता हूं। उपयोगकर्ता_alias.user को user_alias.user_id का नाम बदलना चाहिए ताकि यह स्पष्ट हो सके कि क्या हो रहा है। –