ホームページ > データベース > mysql チュートリアル > メーカーの地域設定に基づいて MySQL で製品の可視性を動的に決定するにはどうすればよいですか?

メーカーの地域設定に基づいて MySQL で製品の可視性を動的に決定するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-25 00:37:12
オリジナル
449 人が閲覧しました

How Can I Dynamically Determine Product Visibility in MySQL Based on Manufacturer Region Settings?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート