2012-12-19 12 views
11

से डेटा के साथ परिणाम तालिका में विदेशी कुंजी की जगह मैं इस तरह एक मेज है:MySQL FK तालिका

id (PK) name teacher (FK) student (FK) 
    1  Ron   3    6 

दोनों शिक्षक और छात्र people नामक एक और तालिका में कर रहे हैं।

people 
id (PK) name age 
    3  Ali 42 
    6  Jon 12 

मैं निम्नलिखित

name teacher's name student's name 
Ron   Ali    Jon 

प्राप्त करने के लिए एक प्रश्न निष्पादित करना चाहते हैं यह संभव है? मैं जानता हूँ कि मैं दो अलग मिलती प्रदर्शन कर सकते हैं, लेकिन फिर मैं दो पंक्तियों के साथ छोड़ दिया हूँ और वहाँ कोई संकेत नहीं है जो के नाम शिक्षक है और जो छात्र है

उत्तर

12
select t.name, p1.name teacher_name, p2.name student_name 
     from t 
left join people p1 on (t.teacher=p1.id) 
left join people p2 on (t.student=p2.id) 
7

इस प्रयास करें:

SELECT a.name, b.name 'teacher name', c.name 'student name' 
FROM mainTablle a 
LEFT JOIN people b ON a.teacher = b.id 
LEFT JOIN people c ON a.student = c.id 
WHERE a.id = 1; 
संबंधित मुद्दे