2011-07-20 21 views
7

Ben aynı masada tür böyle "içerik" için hem yabancı anahtarları birkaç satır içeren bir tablo "kullanıcı" olması birden yabancı anahtarları katılmak bunu normalleştirme açısından yapmak doğru yol değil, "içerik" tablosu değiştiremediğim ayrı bir DB'den geliyor. Ve verileri çoğaltmak istemiyorum.iyi yolu aynı tabloda

Onlara katılmanın iyi bir yolunu bulmakta sorun yaşıyorum. Bütün yapabileceğim bu, ama bu savurgan görünüyor.

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 
her instance'a farklı bir takma ad verirsek birden çok kez bir tablo katılabilir

cevap

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

Ah! Güzel. Teşekkürler! –