2

ORDER_STATUS という列に 3 つの異なるステータスがあります。

  • 110 (リリース済み)
  • 120(梱包)
  • 130 (発送済み)。

クエリによって返された数値に応じて、実際の名前を表示したいと思います。どうすればこれを達成できますか?で使用しようとしていSELECTます。

SELECT 
  OLI.do_dtl_status ORDER_STATUS
FROM 
  appwms.order_line_item OLI
WHERE 
  ORD.tc_order_id = '1002424748' 

ここで OLI.do_dtl_status ORDER_STATUS は、その値に応じて名前に置き換えたい列です。これはトラブルシューティング用であることに注意してください。したがって、パフォーマンスなどは求めていませんが、クエリに簡単に追加できるものを探しています。

4

2 に答える 2

5

名前を別のテーブルに保存し、JOIN を使用するのが理想的です。

これはトラブルシューティング用であるため、パフォーマンスなどを求めているのではなく、クエリに簡単に追加できるものを探していることに注意してください。

1 回限りの状況では、それらをクエリにハードコードすることができます。

SELECT CASE OLI.do_dtl_status
          WHEN 110 THEN 'Released'
          WHEN 120 THEN 'Packed'
          WHEN 130 THEN 'Shipped'
       END AS ORDER_STATUS
FROM appwms.order_line_item OLI
WHERE ORD.tc_order_id='1002424748'
于 2012-06-18T18:58:58.770 に答える
0

典型的な方法は、orderstatus (値、名前) と、場合によってはそのテーブルへの外部キーを持つ別のテーブルを持つことです。このようにして、orderstatus テーブルと結合してステータス名を取得できます。外部キーにより、メイン テーブルに有効な orderstatus のみを入力することが保証されます。

于 2012-06-18T19:00:13.843 に答える