Mysql SQLiteDatabase从3个表中选择
我不熟悉数据库,我有三个表Mysql SQLiteDatabase从3个表中选择,mysql,sql,database,sqlite,mysqli,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 |
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
例如,我有code100
,所以我需要从食品添加剂表
中选择E211
和E523
,因为在我的超级添加剂表
中,产品ID(1)链接到两种食品添加剂(3和2)。
这就是我所做的
SELECT FOOD_ADDITIVE FROM FOOD_ADDITIVE_TABLE ....And now I need 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;
还可以查看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;
也有一个关于加入看看