【问题标题】:SQLiteDatabase SELECT from 3 tablesSQLiteDatabase 从 3 个表中选择
【发布时间】:2015-11-18 19:10:49
【问题描述】:

我是数据库新手,我有三个表

PRODUCT_INFO|    FOOD_ADDITIVE_TABLE |      SUPER_TABLE
ID  CODE    |    ID    FOOD_ADDITIVE |      ID  PRODUCT_ID  FOOD_ADDITIVE_ID
1   100     |    1     E621          |      1   1            3
2   156     |    2     E523          |      2   1            2
3   295     |    3     E211          |      3   3            1

例如,我有代码100,所以我需要从FOOD_ADDITIVE_TABLE 中选择E211E523,因为在我的SUPER_TABLE 中,Product_ID (1) 与两种食品添加剂(3 和2)相关联。 所以这就是我所做的

SELECT FOOD_ADDITIVE FROM FOOD_ADDITIVE_TABLE ....And now I need JOIN

但问题在哪里?我在FOOD_ADDITIVE_TABLE 中没有任何其他信息可以加入其他表格。

【问题讨论】:

    标签: sql sqlite


    【解决方案1】:

    你需要JOIN公共列上的三个表,然后使用WHERE子句你可以只取你想要的行:

    SELECT aa.FOOD_ADDITIVE
    FROM FOOD_ADDITIVE_TABLE AS aa
    INNER JOIN SUPER_TABLE AS bb
    ON aa.ID = bb.FOOD_ADDITIVE_ID
    INNER JOIN PRODUCT_INFO AS cc
    ON bb.PRODUCT_ID = cc.ID
    WHERE cc.CODE = 100;
    

    也可以看看here关于JOIN。

    【讨论】:

      猜你喜欢
      • 2019-02-09
      • 1970-01-01
      • 1970-01-01
      • 2011-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-01
      • 1970-01-01
      相关资源
      最近更新 更多