CASE または IF/ELSE を使用した MySQL での製品の可視性の決定
メーカーが定義した領域によって製品の可視性が決定されるシナリオでは、各製品のステータス (新品または中古) と、メーカーが指定した対応する領域設定に基づいて、各製品の表示領域を動的に計算する必要が生じる場合があります。これは、MySQL の CASE または IF/ELSE ステートメントを使用して実現できます。
CASE ステートメントのアプローチ:
SELECT t2.company_name, t2.expose_new, t2.expose_used, t1.title, t1.seller, t1.status, CASE status WHEN 'New' THEN t2.expose_new WHEN 'Used' THEN t2.expose_used ELSE NULL END as 'expose' FROM `products` t1 JOIN manufacturers t2 ON t2.id = t1.seller WHERE t1.seller = 4238
このクエリでは、CASE ステートメントはステータスを評価します。製品 (新品または中古) の情報を取得し、メーカーの Expose_New または Expose_used 設定に基づいて適切な Expose 値を条件付きで割り当てます。結果は、各製品の 1 桁の「露出」値であり、その表示領域を示します。
IF/ELSE アプローチ:
IF/ELSE アプローチ中、試行には論理エラーが含まれています。修正されたバージョンは次のとおりです。
SELECT t2.company_name, t2.expose_new, t2.expose_used, t1.title, t1.seller, t1.status, IF(status = 'New', t2.expose_new, IF(status = 'Used', t2.expose_used, NULL)) as 'expose' FROM `products` t1 JOIN manufacturers t2 ON t2.id = t1.seller WHERE t1.seller = 4238
この修正されたクエリでは、条件付き IF/ELSE ステートメントが使用されます。製品のステータスとメーカーのエクスポーズ設定に基づいてエクスポーズ値を割り当てます。結果は CASE ステートメントのアプローチと同じで、各製品の「公開」値が提供されます。
MySQL で CASE ステートメントまたは IF/ELSE ステートメントを利用することで、製品ベースの可視領域を効果的に計算できます。メーカー指定のルールに基づいて、製品情報を動的かつ条件付きで表示できるようにします。
以上がメーカーの地域設定に基づいて MySQL で製品の可視性を動的に決定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。