来自3个表的SQLiteDatabase SELECT

时间:2015-11-18 19:10:50

标签: mysql sql database sqlite mysqli

我是数据库的新手,我有三张桌子

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所以我需要从E211中选择E523FOOD_ADDITIVE_TABLE因为我的SUPER_TABLE Product_ID(1)链接到两种食品添加剂(3和2)。 所以我在这里做了什么

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

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

1 个答案:

答案 0 :(得分:3)

您需要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。