упорядочить в объединенных таблицах - PullRequest
0 голосов
/ 17 августа 2011

Я хочу заказать второй объединенный стол в соответствии с ценой, для более ясного объяснения добавлю скриншот: http://s42.radikal.ru/i098/1108/87/66f19d915bbc.jpg во второй таблице отображаются цены: байи 1, байи 2, байи 3, байи 4и liste fiyati, я хочу переставить их в другом порядке, начиная с liste fiyati и заканчивая на bayi 1. Вот мой запрос:

<cfquery name="get_products" datasource="#dsn3#">
    SELECT P.PRODUCT_ID,P.PRODUCT_NAME,PS.MONEY,PR.PRICE,P.BRAND_ID,PS.PRICE,GSL.PRODUCT_STOCK,GSL.PURCHASE_ORDER_STOCK
    FROM PRODUCT P
        JOIN PRICE_STANDART PS ON P.PRODUCT_ID = PS.PRODUCT_ID
        JOIN PRICE PR ON P.PRODUCT_ID = PR.PRODUCT_ID
        JOIN #DSN2_ALIAS#.GET_STOCK_LAST GSL ON P.PRODUCT_ID = GSL.PRODUCT_ID
    WHERE P.IS_SALES=1 AND P.IS_INTERNET=1 AND PS.PURCHASESALES=1 AND PS.PRICESTANDART_STATUS=1
    AND PR.STARTDATE <= #now()# AND (PR.FINISHDATE >= #now()# OR PR.FINISHDATE IS NULL)
    GROUP BY P.PRODUCT_ID,PR.PRICE,P.PRODUCT_NAME,PS.MONEY,P.BRAND_ID,PS.PRICE,GSL.PRODUCT_STOCK,GSL.PURCHASE_ORDER_STOCK
    ORDER BY PS.PRICE DESC
</cfquery>

и таблица:

<table cellpadding="3" cellspacing="1" class="color-border" width="100%">
    <tr class="color-header">
        <td><b>Ürün</b></td>
        <td class="header_bold" width="80"><b>Marka</b></td>
        <td class="header_bold" width="35"><b>Stok</b></td>
        <td class="header_bold" width="35"><b>Yoldaki Stok</b></td>
        <td class="header_bold" width="80">Bayı 4</td>
        <td class="header_bold" width="80">Bayı 3</td>
        <td class="header_bold" width="80">Bayı 2</td>
        <td class="header_bold" width="80">Bayı 1</td>
        <td class="header_bold" width="80">Liste fiyatı</td>
        <td class="header_bold" width="25">Para</td>
    </tr>
    <cfoutput query="get_products" startrow="#attributes.startrow#" maxrows="#attributes.maxrows#" group="product_id">
        <tr height="20" onMouseOver="this.className='color-light';" onMouseOut="this.className='color-row';" class="color-row"> 
            <td>#product_name#</td>
            <td align="center"><cfif len(brand_list)>#get_brands.brand_name[listfind(brand_list,brand_id,',')]#</cfif></td>
            <td align="center">#PRODUCT_STOCK#</td>
            <td align="center">#purchase_order_stock#</td>
            <cfoutput><td align="center">#tlformat(price,2)#</td></cfoutput>
            <td align="center">#MONEY#</td>
        </tr>
    <cfset toplam_stock = toplam_stock+product_stock>
    <cfset toplam_order_stock = toplam_order_stock+purchase_order_stock>
    </cfoutput>
    <tr class="color-header">
        <td colspan="2"></td>
        <td align="center"><cfoutput>#toplam_stock#</cfoutput></td>
        <td align="center"><cfoutput>#toplam_order_stock#</cfoutput></td>
        <td colspan="12"></td>
    </tr>
</table>

btwцена, которую я хочу заказать - PRICE PR, а не PRICE_STANDART PS, и спасибо всем за помощь!

Ответы [ 3 ]

4 голосов
/ 17 августа 2011

Вам просто нужно добавить оба оператора ORDER BY:

ORDER BY P.PRODUCT_ID, PS.PRICE DESC

С группировкой ColdFusion убедитесь, что вы всегда сортируете сначала по тому, что вы хотите сгруппировать, а затем вы можетеСортировка по тому, что вам нужно внутри группы.

0 голосов
/ 17 августа 2011

Если я понимаю, что вы спрашиваете, вам нужно включить все столбцы из GROUP BY в свой оператор ORDER BY сначала , а затем добавить любые другие столбцы, которые вы хотите упорядочить в этих группировки.

Но я боюсь сказать, что ваш вопрос не очень ясен.

- Адам

0 голосов
/ 17 августа 2011

Но тогда измените

ORDER BY PS.PRICE DESC 

на

 ORDER BY PR.PRICE DESC 

Конечно?

...