2011-08-15 4 views
0

私はそれぞれの製品、その価格表で製品リストのテーブルを作成したいが、別の出力に1つの出力を挿入したいので、2つのクエリを結合できないという問題がある私は2つのsqlクエリに参加して、正しく動作させる必要があることを知っています。さらに、各製品に4つの価格があり、とにかく、もっと明確にするために、私はスクリーンショットを作成しました。それは見てみたい:cfoutput内のcfoutput

製品のクエリ:http://s44.radikal.ru/i106/1108/57/33380d0557f4.jpgと、ここでは、クエリで

<cfquery name="get_products" datasource="#dsn3#"> SELECT DISTINCT P.*,PS.MONEY,PS.PRICE FROM PRODUCT P,PRICE_STANDART PS WHERE  P.IS_SALES=1  AND P.IS_PURCHASE=1   AND P.IS_INTERNET=1   AND P.PRODUCT_ID=PS.PRODUCT_ID  AND PS.PURCHASESALES=1  AND PS.PRICESTANDART_STATUS=1  <cfif len(trim(attributes.product_cat)) and len(attributes.product_code)>   AND P.PRODUCT_CODE LIKE '#attributes.product_code#%'  </cfif>   <cfif isdefined('attributes.product_id') and len(attributes.product_id)>   AND P.PRODUCT_ID=#attributes.product_id#  </cfif>  ORDER BY PS.PRICE DESC </cfquery> 

価格クエリ:

<cfquery name="get_prices" datasource="#dsn3#"> 
     SELECT PRICE, PRODUCT_ID FROM PRICE WHERE PRODUCT_ID = #PRODUCT_ID# 
    </cfquery> 

とテーブル:

<table cellpadding="3" cellspacing="1" class="color-border" width="100%"> 
    <tr class="color-header"> 
     <td width="30" class="header_bold">No</td> 
     <td><b>Ürün</b></td> 
     <td class="header_bold" width="80">Liste fiyatı</td> 
     <td class="header_bold" width="80">Bayı 1</td> 
     <td class="header_bold" width="80">Bayı 2</td> 
     <td class="header_bold" width="80">Bayı 3</td> 
     <td class="header_bold" width="80">Bayı 4</td> 
     <td class="header_bold" width="25">Para</td> 
    </tr> 
    <cfoutput query="get_products" startrow="#attributes.startrow#" maxrows="#attributes.maxrows#"> 
     <tr height="20" onMouseOver="this.className='color-light';" onMouseOut="this.className='color-row';" class="color-row"> 
      <td>#currentrow#</td> 
      <td>#product_name#</td> 
      <td>#tlformat(price,2)#</td> 
      <td>#tlformat((price*0.5),2)#</td> <!---this is fixed price! ---> 
      <td>#tlformat((price*0.49),2)#</td> <!---this is fixed price! ---> 
      <td>#tlformat((price*0.475),2)#</td> <!---this is fixed price! ---> 
      <td>#tlformat((price*0.45),2)#</td> <!---this is fixed price! ---> 
      <td align="center">#MONEY#</td> 
     </tr> 
    </cfoutput> 
</table> 

説明は "これは固定価格です!"私はそれらを挿入し、自分自身でそれを数えることを意味するが、それは私が統合したい価格リストから変更する必要がありますが、私はできません... すべての助けに感謝!

答えて

4

あなたは本当にクエリに参加する実行する必要があります。PRICEテーブルには、各製品に複数の価格を返します

<cfquery name="get_products" datasource="#dsn3#"> 
SELECT DISTINCT P.*,PS.MONEY,PS.PRICE 
FROM PRODUCT P 
JOIN PRICE_STANDART PS ON P.PRODUCT_ID = PS.PRODUCT_ID 
JOIN PRICE PR ON P.PRODUCT_ID = PR.PRODUCT_ID 
WHERE  
P.IS_SALES=1   
AND P.IS_PURCHASE=1   
AND P.IS_INTERNET=1    
AND PS.PURCHASESALES=1  
AND PS.PRICESTANDART_STATUS=1  
<cfif len(trim(attributes.product_cat)) and len(attributes.product_code)>   
    AND P.PRODUCT_CODE LIKE '#attributes.product_code#%'   
</cfif>   
<cfif isdefined('attributes.product_id') and len(attributes.product_id)>    
    AND P.PRODUCT_ID=#attributes.product_id#   
</cfif>  
ORDER BY PS.PRICE DESC 
</cfquery> 

場合は、その後のGROUP属性を使用することができます。詳細はこちらをご覧ください:http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7ff6.html

+0

ありがとうございました! )) – user775917

+0

どのように私はこのグループを使用するのですか?最初は仕事をしましたが、複数の製品があり、1つの価格で、複数の価格の製品が1つ必要です。 – user775917

+0

product_codeでクエリをソートし、 'cfquery'タグに' group = "product_code" 'を追加する必要があります。 * Then *、繰り返す価格の周りに別の ''タグ(属性なし)を追加する必要があります。間違いなく ''タグのグループ属性を読んでみてください。あなたはうまくいくでしょう。 –

関連する問題