私のAndroidプロジェクトでいくつかのsqliteクエリを組み合わせるのに苦労しています。
この呼び出しでItemTableのすべての要素を取得しています
String sql = "SELECT n.*, p.ParentID "
+ "FROM NameTable n, "
+ " ItemTable p "
+ "WHERE p.itemID = n.OwnerID "
+ "COLLATE NOCASE";
次に、次の2つのクエリのいずれかを使用して各親を取得します。
if (aItem.parentID > 0) {
sql = "SELECT n.*, p.ParentID, f.FamilyID "
+ "FROM NameTable n, "
+ " FamilyTable f, "
+ " ItemTable p "
+ "WHERE f.FamilyID = '" + aItem.parentID + "' "
+ " AND p.ItemID = n.OwnerID "
+ " AND (p.ItemID = f.MotherID OR p.itemID = f.FatherID) "
+ " AND n.IsPrimary = 1 ";
} else {
sql = "SELECT n.*, p.ItemID, f.FamilyID "
+ "FROM NameTable n, "
+ " FamilyTable f, "
+ " ChildTable c, "
+ " ItemTable p "
+ "WHERE c.ChildID = '" + aItem.ItemID + "' "
+ " AND p.ItemID = n.OwnerID "
+ " AND c.FamilyID = f.FamilyID "
+ " AND (p.ItemID = f.MotherID OR p.ItemID = f.FatherID) "
+ " AND n.IsPrimary = 1 ";
}
これらの3つのクエリとロジックを1つに組み合わせる方法はありますか?呼び出しを組み合わせる方が速いと思いますが、それらを組み合わせる方法がわかりません。また、それらを組み合わせた場合に行を読み取る方法もわかりません。私は本当にいくつかのアドバイスと援助を使うことができました。