Sortowanie bazy według ceny

0

Witam serdecznie,
Mam taką tabelę:

CREATE TABLE IF NOT EXISTS `produkty` (
  `bf_id` bigint(20) unsigned NOT NULL,
  `nazwa` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
  `cena_netto` decimal(9,2) DEFAULT '0.00',
  `cena_promocyjna` decimal(9,2) DEFAULT '0.00',
) ENGINE=MyISAM AUTO_INCREMENT=33 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; 

W kolumnach cena_netto i cena_promocyjna mam ceny.
Potrzebuję zapytania który posortuje mi produkty na zasadzie sortowania:
a) jeśli produkt nie ma przypisanej cena_promocyjna - to bierzemy pod uwagę cenę tradycyjną,
b) jeśli produkt ma cena_promocyjna - to bierzemy pod uwagę tą cenę....

Da się coś takiego zrobić?

Northwest

1
SELECT * FROM `produkty` ORDER BY IF( cena_promocyjna = 0, cena_netto, cena_promocyjna ) DESC

Myślę, że styknie. :)

0

dziękuję :)
A gdybym chciał wyświetlić ostatnio dodane 10 produktów i posortować je według nazwy?
Chodzi o sortowanie tylko między tymi ostatnio dodanymi rekordami - a nie całością bazy :)

0

Możesz zrobić dodatkowe pole "added_time" i je uzupełniać czasem dodania produktu lub po kluczu głównym.

0

Możesz posortować według ID malejąco DESC i dopisać LIMIT 10;

1 użytkowników online, w tym zalogowanych: 0, gości: 1