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
In dieser Abfrage:
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!