2014-01-21 52 views
0

我要让复杂的SELECT语句,但我不知道该怎么办呢如何构建复杂的SELECT语句

我能写的人讲的语言,所以

我想选择所有PRODUCT_ID及其相应的BRAND_NAME

表是这些

1)品牌(链接品牌id来品牌名称) ç ontains与线brand_id和对应BRAND_NAME

2)Field_brand(链接实体的品牌标识。实体是商店中的产品,每个实体都属于一个品牌。产品可以包含一个或多个变型产品(见下表)) 包含线,ENTITY_ID和相应brand_id

3)及其变种Field_products(链接产品,即数的product_id的可以有一个ENTITY_ID) 包含与线PRODUCT_ID和相应的ENTITY_ID

+0

我的意思是,product_id是变体的名称,entity_id是产品的名称 –

+0

对不起,您要求我们为您阅读文档,因为您不喜欢? – arkascha

+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例如,结果集将包括原始集中的每个条目加上相应的条目,但不会删除不相应的行(如果它们不包含原始集合中的行无法匹配到加入的集合)。