এই প্রশ্নের মধ্যে, আমি এটি পেতে পারি না:
কি p1.Person
এবং p2.Person
।
এই প্রশ্নের মধ্যে, আমি এটি পেতে পারি না:
কি p1.Person
এবং p2.Person
।
উত্তর:
এমএলএএক্সএক্স নির্দেশ করে যে তারা টেবিল রেফারেন্সগুলি, এই ক্ষেত্রে তারা একই টেবিলে দুইবার উল্লেখ করে যা এটি নিজে যোগদান করেছে। দ্য Person
বিট ব্যক্তির নাম রয়েছে (গ্রাফিক অনুযায়ী)।
ক্যোয়ারী নিম্নলিখিত:
SELECT p1.Person AS PERSON, p2.Person AS FRIEND_OF_FRIEND
FROM PersonFriend pf1
JOIN Person p1 ON pf1.PersonID = p1.ID
JOIN PersonFriend pf2 ON pf2.PersonID = pf1.FriendID
JOIN Person p2 ON pf2.FriendID = p2.ID
WHERE p1.Person = "Alice" and pf2.FriendID <> p1.ID
সাবধানে একটি টেবিলের প্রতিটি উল্লেখ তাকান FROM
দফা। আপনি প্রতিটি শব্দের উপর একটি শর্ট্যান্ড নির্দিষ্ট বরাদ্দ আছে দেখতে পারবেন (উদাঃ। JOIN Person
p1
)। আপনি নিম্নলিখিত shorthands / রেফারেন্স নাম দিয়ে শেষ: p1
, p2
, pf1
এবং pf2
। যদিও p1
এবং p2
টেবিল রেফারেন্স Person
, pf1
এবং pf2
উল্লেখ PersonFriend
।
স্বাভাবিক পরিস্থিতিতে আপনি একটি টেবিলের পুরো নামটি ব্যবহার করতে পারেন Person
অথবা PersonFriend
মধ্যে JOINS
কিন্তু এই প্রশ্নে একাধিক স্ব যোগদানকারী হিসাবে আপনি যে টেবিলের নির্দিষ্ট উদাহরণের কোন ক্ষেত্রগুলি চিহ্নিত করবেন তা সনাক্ত করার জন্য আপনাকে অন্য উপায়ের প্রয়োজন।
সম্পাদনা: ম্যাকলেক্স দ্বারা দেওয়া রেফারেন্স ( এক প্রশ্নের মধ্যে একটি টেবিল দুইবার ব্যবহার করে ) একটি স্ব যোগদান অর্থ সম্পর্কে কিছু আরো তথ্য আছে।