Durum: Haberim var. NE'lar birden çok kategoride yayınlanır.Veritabanı Tablosu İlişkileri Sorun.
Sorun: Haberler ve kategoriler arasındaki ilişkiler nasıl saklanır? Üç tablo (haberler, kategoriler, haberler) oluşturmalı mıyım? Bu mümkün olan en iyi yöntem mi?
en örnek görelim: Ben son haberler için veritabanını sorgulamak istiyorum, bu yüzden gerek: kategoriler adını almak için haber kategorilerine döngüde 2. sorgu için sorgu katılmak kullanarak haber için 1. sorgusu.
Yani, 10 haber (10 sorgu) X kategori sayısı = toplam sorgu var. Çok fazla değil?
Güncelleme İşte benim örnek. Aşağıdaki üç tablo vardır.
-- news --
ID
Title
-- categories --
ID
Name
-- news_categories --
ID
NewsID
CategoryID
olursa olsun kullandığınız sorgu, tüm projelerini döner ve kategoriler isimleri doğru ancak ... projeler kategorilere miktarına göre, birkaç kez görüntülenir yansıtır. Belki çok yorgunum ya da bir şeyim, ama gerçekten bir çözüm göremiyorum.
Güncelleme 2 İşte
var benim sorgu:
Title Name
Test PHP
Test2 MySQL
Test2 CSS
Herkes nasıl bu sorunu çözmek için herhangi bir öneri vardır:
SELECT N.Title, C.Name
FROM x_news_categories AS NC
INNER JOIN x_news AS N
ON N.ID = NC.NewsID
INNER JOIN x_categories AS C
ON C.ID = NC.CategoryID
ve burada onun sonucudur?
Selamlar, M.
Sanırım cevabınız doğru, ancak bunları uygulamakta sorun yaşıyorum.Sorumu düzenledim, çok hoş olur musun ve bir bakabilir misin? –
Örnek tablolarınızı eşleştirmek için yukarıdaki örnek sorgularımı güncelledim. Belki de yaşadığınız problemi yanlış anlıyorum. Tablolar arasında yabancı anahtarların var mı? News_categories tablosunda kopyalar var mı (aynı newsid ve aynı categoryid birden çok kez)? Çalışmayan bir sorgu gönderiyorsanız, ona bir göz atmaktan memnuniyet duyarız. – theChrisKent
Zaten bitmiş. Yardımınız için teşekkürler. –