2014-01-21 58 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例如,結果集將包括原始集中的每個條目加上相應的條目,但不會刪除不相應的行(如果它們不包含原始集合中的行無法匹配到加入的集合)。