tablo tasarımını paylaşma imkanın varsa iyi olur, kelimeler ile yüzeysel anlam çıkıyor.
meta dediğiniz video_ekleri tablosundan alınan 1 veya 1+ satırlar mı?
SQL sorumun yeni hali;
SELECT videolar.id, videolar.adi,video_ekleri.ek_id,video_ekleri.key, video_ekleri.value
FROM `videolar`,`video_ekleri`
WHERE `videolar`.`id` = `video_ekleri`.`video_id`
tablolar;
CREATE TABLE IF NOT EXISTS `videolar` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`adi` varchar(225) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
--
-- Tablo döküm verisi `videolar`
--
INSERT INTO `videolar` (`id`, `adi`) VALUES
(1, 'örnek video'),
(2, 'do?a belgeseli');
-- --------------------------------------------------------
--
-- Tablo için tablo yapısı `video_ekleri`
--
CREATE TABLE IF NOT EXISTS `video_ekleri` (
`ek_id` int(11) NOT NULL AUTO_INCREMENT,
`video_id` int(11) NOT NULL,
`key` varchar(225) NOT NULL,
`value` varchar(225) NOT NULL,
PRIMARY KEY (`ek_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
--
-- Tablo döküm verisi `video_ekleri`
--
INSERT INTO `video_ekleri` (`ek_id`, `video_id`, `key`, `value`) VALUES
(1, 1, 'oto', 'acik'),
(2, 1, 'reklam', 'kapali'),
(3, 1, 'yorum', 'kapali'),
(4, 2, 'yorum', 'acik'),
(5, 2, 'reklam', 'kapali'),
(6, 2, 'tarih', '06.02.2013');
ilk anda aklıma birden çok yol geliyor.
Mesela ben dediğiniz yöntemi 1 verinin çok kategoride olduğu sitelerimde 3 tablo ile tek sorguda limitleyerek kullanıyorum.
Bir başka yazılımda şöyle kullandım, 2 ayrı sorgu ile. İlk sorguda tüm makaleleri aldım, ve ikinci sorguda ilk sorguda dönen ID değerlerini 2. sorguda WHERE IN ile belirterek ya da JOIN ile birleştirerek tüm yorumları listeledim php kodlarıyla verileri ilgili dizilere atadım.
Yani 10 makale 2000 yorumu toplam 2 sorguda aldım.
Diğer bir yöntem verileri serialize ederek aynı tabloda bir kolonda saklayabilirsin.
Başka bir örnek açık kaynak kodlu wordpressin makaleler-kategoriler,etiketler-ilişkiler tablosunu inceleyebilirsiniz.
Şu anki sorgunuzda gruplasanız olmaz, limitleseniz olur ama istediğiniz sonuçlar dönmez.
1. Yöntem çok zorlar sistemi diye düşünüyorum, şöyleki, 100 bin video varsa, yaklaşık 5.00000 ek veri olacak.
Wordpress'in kullandığı sistemi çözemedim.
Bu konu hakkında ücretli / ücretsiz yardım bekliyorum. İlgilenen herkese teşekkürler