我想制作复杂的SELECT语句,但我不知道该怎么做
我可以把它写成人类语言,所以
我想选择所有 product_id 及其相应的 brand_name
表是这些
1)品牌(将品牌ID与品牌名称联系起来) 包含 brand_id 和相应的 brand_name
的行2)Field_brand(将实体链接到品牌ID。实体是商店中的产品,每个实体属于一个品牌。产品可以包含一个或多个产品变体(参见下表)) 包含 entity_id 的行和相应的 brand_id
3)Field_products(链接产品及其变体,即几个product_id可以有一个entity_id) 包含 product_id 的行和相应的 entity_id
答案 0 :(得分:2)
这可以让你走上正轨
SELECT
Field_products.product_id,
Brands.brand_name
FROM Brands
INNER JOIN Field_brand on Brands.brand_id = Field_brand.brand.id
INNER JOIN Field_products on Field_brand.entity_id = Field_products.entity_id
更好地理解joins
:如果您希望将结果集缩减为在所有已连接集之间共享的集合,则执行inner join
(即,您只需要可以在你加入的集合),这就是这里发生的事情。
例如,如果您使用left joins
,结果集将包括原始集合中的每个条目加上相应的条目,但不会删除任何非对应的行(原始集合中的任何行都不会被保留)如果他们无法匹配联合集合。)