Ich habe zwei Spalten in einer Tabelle mit den Namen saleprice
und regularprice
. Diese Tabelle enthält Datensätze für Auflistungen für eine Auktions-Website. Wenn der Benutzer entscheidet, kann er entweder eine saleprice
, die niedriger ist als die regularprice
ODER sie können einfach in eine regularprice
setzen und lassen Sie die saleprice
leer.SORTIEREN NACH 2 Felder, wenn man nicht leer ist andere weise nach anderen Feld in Mysql
Ich habe eine select
gebaut, die es dem Benutzer ermöglicht, die Datensätze von niedrig zu hoch oder hoch zu niedrig basierend auf dem Preis anzuzeigen. Problem ist, wenn es ein regularprice
gibt, dann ist das Feld saleprice
leer. Wenn es eine saleprice
gibt, dann enthalten die Felder regularprice
und saleprice
einen Wert und natürlich wird saleprice
niedriger sein.
Ich versuche, die Datensätze basierend auf dem, was der Benutzer wählt, aber ich kann nicht meine Anweisung, um die Datensätze ordnungsgemäß suchen beide Spalten zurückgeben.
Grundsätzlich muss ich nach sortieren, wenn saleprice
dann regularprice
nicht leer verwenden sonst verwenden nur regularprice
Hier sind meine Beispiele Ich habe weit
aufsteigend
SELECT * FROM market_posts
WHERE live = 1 AND category = '1'
ORDER BY IF(saleprice != '',saleprice,regularprice) ASC
so kommen
Hoch zu niedrig
SELECT * FROM market_posts
WHERE live = 1 AND category = '1'
ORDER BY IF(saleprice != '',saleprice,regularprice) DESC
'IF (Saleprice IS NOT NULL, Saleprice, regularprice)'? –
Dies kann in Abhängigkeit von "Was der Benutzer wählt" auf verschiedene Arten durchgeführt werden. Sie können sich genauer darüber informieren, was der Benutzer wählt oder welche Optionen er wählt. Ansonsten sind die Antworten, die Sie hier erhalten, die beste Schätzung – apesa