2016-05-31 12 views
0

こんにちは私は次のクエリは、mysqlのクエリでwhere句

SELECT DISTINCT 
t15_catalogue_line.T15_GROUP, 
sc_products.product_code,sc_products.unic, 
    sc_products.name_ru, 
    UPPER(TRIM(sc_products.brief_description_ru)) AS brief_description_ru, 
    sc_products.suupplier, 
    price.Price, 
    sc_group_discounts.`action`, 
    sc_group_discounts.procent, 
    sc_products.productID, 
    price.in_stock, 
    price.supplier, 
    t10_item.T10_ITEM, 
    t10_item.T10_DESC, 
    t10_item.T10_IMG, 
    t10_item.T10_ITEM_GROUP, 
    t10_item.T10_FIELD1, 
    t10_item.T10_FIELD2, 
    t10_item.T10_FIELD3, 
    t10_item.T10_FIELD4, 
    t10_item.T10_FIELD5, 
    t10_item.T10_FIELD6, 
    t10_item.T10_FIELD7, 
    t10_item.T10_FIELD8, 
    t10_item.T10_FIELD9, 
    t10_item.T10_FIELD10, 
    t10_item.T10_FIELD11, 
    t14_item_fields.T14_ITEM_GROUP, 
    t14_item_fields.T14_FIELD, 
    t14_item_fields.T14_NAME, 
    t14_item_fields.T14_UNIT, 
    t14_item_fields.T14_SEARCH 
FROM 
    sc_products 
    LEFT OUTER JOIN t15_catalogue_line ON (sc_products.unic = t15_catalogue_line.unic) 
    LEFT OUTER JOIN price ON (sc_products.unic = price.unic) 
    AND (sc_products.suupplier = price.postavchik) 
    LEFT OUTER JOIN sc_group_discounts ON (sc_products.item_group = sc_group_discounts.item_group) 
    LEFT OUTER JOIN t10_item ON (sc_products.product_code = t10_item.T10_ITEM) 
    LEFT OUTER JOIN t14_item_fields ON (t10_item.T10_ITEM_GROUP = t14_item_fields.T14_ITEM_GROUP) 
WHERE 
    t15_catalogue_line.T15_CARTYPE = '30416' AND 
    t15_catalogue_line.T15_GROUP = '546678' 
    and sc_products.unic is not null and sc_products. unic!='' 

GROUP BY 
t15_catalogue_line.unic 

表は、この t15_catalog_lineように見えている必要があり、すべてを実装することはできません t15_groupパーツ・オブ・パーツ・ブレーク・システム。ウェブサイト上の ユニコード商品コード。ユニークではないので、他のテーブルで重複しており、異なるパーツのために同じ製品コードが存在する可能性があります。問題は、この設定が発生した場合、照会は、disgarding where節で最初の行を返します。どのように修正することができますか?

+0

一見して: DISTINCTグループを選択しています。where句では、1つのグループIDを要求します。限り、私は言うことができる、それはグループ '546678'である1つの結果を返す必要があります。 –

答えて

0

group by節を完全に削除します。

group byを使用していて、集計されていない列がgrouo byにリストされていない場合、グループ化された列の一意の組み合わせごとに1つの行が取得されます。

これはあなたが望むものではありません。

+0

まだいくつかの問題があります2商品がカートリタイプに割り当てられていません –