1

OK、これは少しトリッキーですが、基本的に私のSQLステートメントでは、各行のフィールド間の価格を比較して、返される最小値を取得します。問題は、各値にリンクがあることです。

SQLステートメントの最小値に応じて正しいリンクを返す方法はありますか?

以下は私のSQLステートメントです。

SELECT 
   title, 
   my_value, 
   my_ink,

   LEAST(site_a_value, site_b_value, site_c_value) AS lowest_value, 

   site_a_link,
   site_b_link,
   site_c_link

   FROM STOCK

したがって、たとえば、site_bの値が最も低い場合は、site_b_linkのみを返します。

4

2 に答える 2

4

試す

SELECT     title,
            my_value,
            my_ink,
            LEAST(site_a_value, site_b_value, site_c_value) AS lowest_value,     
            case LEAST(site_a_value, site_b_value, site_c_value)
            when site_a_value then site_a_link
            when site_b_value then site_b_link
            when site_c_value then site_c_link end AS lowest_value_link,
FROM STOCK 
于 2012-07-25T15:00:07.803 に答える
1

これを試して:

SELECT 
  title, my_value, my_ink,

  LEAST(site_a_value, site_b_value, site_c_value) AS lowest_value, 

  (
  CASE site_a_value = LEAST(site_a_value, site_b_value, site_c_value)
    THEN site_a_link
  ELSE CASE site_b_value = LEAST(site_a_value, site_b_value, site_c_value)
    THEN site_b_link
  ELSE
    site_c_link
  ) AS site_link

FROM STOCK
于 2012-07-25T15:00:55.793 に答える