Heim > Datenbank > MySQL-Tutorial > Wie kann die Produktsichtbarkeit in MySQL anhand der Herstellereinstellungen ermittelt werden?

Wie kann die Produktsichtbarkeit in MySQL anhand der Herstellereinstellungen ermittelt werden?

Susan Sarandon
Freigeben: 2024-12-09 16:06:16
Original
231 Leute haben es durchsucht

How to Determine Product Visibility in MySQL Based on Manufacturer Settings?

MySQL Select-Anweisung: Produktsichtbarkeit mithilfe von Herstellereinstellungen ermitteln

Ihr Ziel ist es, eine Abfrage zu erstellen, die die Sichtbarkeit von Produkten anhand von Regeln berechnet in der Herstellertabelle definiert. Konkret möchten Sie bestimmen, wo ein Produkt angezeigt werden kann (z. B. überall, nur Kanada oder nur USA).

Die anfängliche Abfrage versucht, eine IF/ELSEIF-Anweisung innerhalb einer Unterabfrage zu verwenden, um die Sichtbarkeit zu berechnen. Dieser Ansatz ist jedoch falsch. Erwägen Sie stattdessen die Verwendung einer CASE-Anweisung, um den Status des Produkts auszuwerten und die entsprechende Sichtbarkeitsstufe zuzuweisen.

Die bereitgestellte CASE-Anweisung weist ein kleines Problem auf: Sie wertet unabhängig vom Status des Produkts immer die erste WHEN-Bedingung aus. Um dies zu beheben, entfernen Sie die AND-Bedingung aus jeder WHEN-Klausel.

Die folgende überarbeitete Abfrage sollte das gewünschte Ergebnis liefern:

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

Diese Abfrage wertet den Status jedes Produkts aus, ob „Neu“. ' oder 'Verwendet' und gibt die entsprechende Sichtbarkeitsstufe zurück, die in der Herstellertabelle definiert ist.

Das obige ist der detaillierte Inhalt vonWie kann die Produktsichtbarkeit in MySQL anhand der Herstellereinstellungen ermittelt werden?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage