通过内部联接将数据保存在内容提供者的关系表中

时间:2012-09-07 17:36:42

标签: android sqlite relational-database inner-join multi-table

如何在图像中看到我有一个表A,表C是一个数组列表A.

我需要创建一个具有表A(id_A)的id和表C(id_C)的id的关系表(表B)。数组列表包含我需要的表C的每个id。所以我需要一种方法来保存表B的数据,其中1 id_A相对于id_C的N个元素。

我知道我可以使用内部联接,但我不知道如何在内容提供程序中启动它。任何人都可以提供帮助或示例?

谢谢你的时间

enter image description here

1 个答案:

答案 0 :(得分:0)

我错了这一点。内部联接用于查询数据库,而不是创建一个由另外两个表组成的表。

这是我使用外键

做我假装的解决方案
      private static final String DATABASE_SOCIO_QUOTA = " CREATE TABLE IF NOT EXISTS  "
        + SocioQuota.TABLE_NAME + " ( "
        + SocioQuota.C_ID + " INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "
        + SocioQuota.C_VALOR + " DOUBLE NOT NULL, "
        + SocioQuota.C_ESTADO + " INTEGER NOT NULL, "
        + SocioQuota.C_SOCIO_ID + " INTEGER NOT NULL, "
        + SocioQuota.C_SESSAO_QUOTA_ID + " INTEGER NOT NULL, "
        + " FOREIGN KEY( " + SocioQuota.C_SOCIO_ID + " ) REFERENCES " +              Table_A + " ( " + Socio.C_ID + " ) "
        + " FOREIGN KEY( " + SocioQuota.C_SESSAO_QUOTA_ID + " ) REFERENCES " + Table_C + " ( " +SessaoQuota.C_ID + " ) "
        + " ) ";

然后保存此表的每列的值