Heim > Datenbank > MySQL-Tutorial > Wie zeige ich Produkte basierend auf Herstellerregeln in MySQL mithilfe von bedingten SELECT-Anweisungen an/aus?

Wie zeige ich Produkte basierend auf Herstellerregeln in MySQL mithilfe von bedingten SELECT-Anweisungen an/aus?

DDD
Freigeben: 2024-11-29 17:03:10
Original
972 Leute haben es durchsucht

How to Show/Hide Products Based on Manufacturer Rules in MySQL Using Conditional SELECT Statements?

MySQL-Select-Anweisung mit bedingter Sichtbarkeitsabfrage

In Szenarien, in denen Tabellendaten eine bedingte Anzeige basierend auf bestimmten Kriterien erfordern, ist es üblich, bedingte Anweisungen wie CASE oder zu verwenden IF/ELSEIF, innerhalb einer MySQL-Auswahlabfrage. In diesem Fall ist eine Abfrage erforderlich, die die Produktsichtbarkeit basierend auf Herstellerregeln bestimmt.

Problem:

Gegeben sind zwei Tabellen, von denen eine Herstellerinformationen und Sichtbarkeitsbereiche enthält. und eine andere, die Produktinformationen enthält, besteht das Ziel darin, eine Abfrage zu erstellen, die Produktdetails zusammen mit einem berechneten Wert zurückgibt, der angibt, wo das Produkt angezeigt werden kann. Der berechnete Wert sollte darauf basieren, ob das Produkt neu oder gebraucht ist, und auf den in der Herstellertabelle definierten Belichtungsregeln.

Lösung:

Sowohl CASE als auch IF/ ELSEIF-Anweisungen können verwendet werden, um dieses Ergebnis zu erzielen, wobei CASE Bedingungen prägnanter ausdrückt.

Die folgende Abfrage verwendet einen CASE Anweisung:

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
Nach dem Login kopieren

In dieser Abfrage:

  • Die CASE-Anweisung wertet das Statusfeld jedes Produkts aus.
  • Basierend auf dem Status ('Neu' oder „Verwendet“) ruft es den entsprechenden Wert „exposure_new“ oder „exposure_used“ aus der Tabelle „Hersteller“ ab.
  • Das Ergebnis wird dem Wert „expose“ zugewiesen. Spalte, die die Sichtbarkeit des Produkts angibt.

Diese Abfrage bestimmt dynamisch die Sichtbarkeitsbeschränkungen für jedes Produkt basierend auf den Herstellereinstellungen und dem Produktstatus. Es liefert die notwendigen Informationen für die bedingte Anzeige oder Verteilung basierend auf den angegebenen Regionen.

Das obige ist der detaillierte Inhalt vonWie zeige ich Produkte basierend auf Herstellerregeln in MySQL mithilfe von bedingten SELECT-Anweisungen an/aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage