Ich habe eine Schnittstelle, in dem ich eine Liste von Elementen aus einer SQLite Datenbank zeigen, dass jedes Element eines von zwei Typen: SubItem1 und SubItem2. Diese Datenbank hat derzeit drei Tabellen: Elemente, SubItem1 und SubItem2.Optimierung von 2 unabhängiger Tabelle beitreten
Die Tabelle Artikel enthält die Spalten SubItemId und Typ (0 - SubItem1; 2 - SubItem2)
SubItem1 und SubItem2 haben unterschiedliche Spalten, aber eine gute Menge von ihnen sind das Gleiche.
So zu verwenden, um diese Liste füllen ich eine Abfrage wie bin mit:
select i.*, s1.name, s2.name, s1.time, s2.place
from ITEMS i
left outer join sub1 s1 on (i.type = 0 and i.sub_id = s1.id)
left outer join sub2 s2 on (i.type = 1 and i.sub_id = s2.id)
ich diese Spalten als Beispiel verwendet, aber ich bin die Auswahl um 10 Spalten jeder SubItem Tabelle.
Mit dieser Abfrage bekomme ich viele redundante Zeilen. Zum Beispiel, wenn der Typ SubItem1 für ein bestimmtes Element ist, werde ich auch die Null-Spalten der Tabelle SubItem2 erhalten.
Gibt es eine effizientere Möglichkeit, diese Abfrage zu machen?
Danke.
Beispieldaten und gewünschte Ergebnisse würden erklären, was Sie erreichen möchten. –