2011-07-20 17 views
7

मैं कुछ पंक्तियाँ है कि एक ही मेज "सामग्री" इस तरह थोड़े के लिए दोनों विदेशी चाबियाँ हैं के साथ एक मेज "उपयोगकर्ता" के लिए कई विदेशी कुंजी शामिल होने के लिए सामान्यीकरण दृष्टिकोण से ऐसा करने का सही तरीका नहीं है, लेकिन "सामग्री" तालिका एक अलग डीबी से है जिसे मैं संशोधित नहीं कर सकता। और मैं डेटा डुप्लिकेट नहीं करना चाहता हूं।सबसे अच्छा तरीका एक ही मेज

मुझे उनसे जुड़ने का एक अच्छा तरीका खोजने में समस्या है। मैं बस इतना करने में सक्षम हूं, लेकिन यह अपमानजनक लगता है।

SELECT bio.bio, text.text 
FROM(
SELECT content.text as bio 
FROM content, user 
WHERE user.bio = content.id 
AND user.id = 4) AS bio, 

SELECT content.text as content 
FROM content, user 
WHERE user.signature = content.id 
AND user.id = 4) AS content 

उत्तर

10

आप एक मेज कई बार शामिल हो सकते हैं अगर आप प्रत्येक उदाहरण के लिए एक अलग उर्फ ​​दे:

SELECT bio.text, sig.text 
FROM user u 
JOIN content bio ON u.bio  = bio.id 
JOIN content sig ON u.signature = sig.id 
WHERE u.id = 4 
+0

ओह! अच्छा लगा। धन्यवाद! –

संबंधित मुद्दे