1: n ilişkisi olan iki tablo var: "content" ve "versioned-content-data" (örneğin, bir makale varlığı ve bu makalenin oluşturduğu tüm sürümler) . Her "içeriğin" en üst sürümünü görüntüleyen bir görünüm oluşturmak istiyorum.Bir SQL alt sorguyu bir birleştirmeye dönüştürme
SELECT t1.id, t1.title, t1.contenttext, t1.fk_idothertable t1.version FROM mytable as t1 WHERE (version = (SELECT MAX(version) AS topversion FROM mytable WHERE (fk_idothertable = t1.fk_idothertable)))
alt sorgu belirli bir öğeyi en yüksek sürümünü ayıklar aynı tabloya bir sorgu geçerli:
Şu anda (basit bir alt sorgu ile) bu sorguyu kullanın. Sürümdeki öğelerin aynı fk_idothertable değerine sahip olacağına dikkat edin.
SQL Server ben bu sorgunun bir dizinli görünüm oluşturmaya çalıştık ama subqueries endeksli görünümleri izin verilmez çünkü ben açamıyorum görünüyor. Yani ... İşte benim sorum ... Bu sorguyu JOINs ile bir tür sorguya dönüştürmenin bir yolunu düşünebilir misiniz?
- subqueries
- ortak tablo ifadeleri
- türetilmiş tablo
- HAVING cümleleri
çaresizim: endeksli görünümleri içeremez gibi
görünüyor. Başka bir fikriniz var :-)
Çok teşekkürler!
alt sorgunuz doğru mu? Ben sadece bir tablo başvurulan –
Evet, aynı fk_idothertable aynı fk_idothertable – sachaa
btw paylaşım öğesinin ayıklamak aynı tablonun bir alt sorgu olduğunu ... fk_idothertable – sachaa