Hallo,
ich habe da ein winziges Problem mit einem Teil einer MySQL-Abfrage, welcher nicht so funktioniert, wie ich es erwarte.
Tabelle:
Abfrage 1:
Ergebnis 12.50 ist richtig.
Abfrage 2:
Ergebnis 12.50 ist falsch, sollte 17.80 sein. Und `start_date` sollte 2015-03-01 sein.
Habe ich da einen Denkfehler? Oder gibt es eine Besonderheit bei MySQL die ich nicht kenne?
Bin dankbar für Hinweise...
Gruß
andyB.
ich habe da ein winziges Problem mit einem Teil einer MySQL-Abfrage, welcher nicht so funktioniert, wie ich es erwarte.
Tabelle:
Code:
mysql> DESCRIBE product_price; +------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | product_id | int(10) unsigned | NO | | NULL | | | start_date | date | NO | | NULL | | | price | decimal(5,2) | NO | | NULL | | +------------+------------------+------+-----+---------+----------------+ mysql> SELECT * FROM product_price; +----+------------+------------+--------+ | id | product_id | start_date | price | +----+------------+------------+--------+ | 1 | 1 | 2015-01-01 | 12.50 | | 2 | 2 | 2015-01-01 | 9.80 | | 3 | 3 | 2015-01-01 | 135.95 | | 4 | 1 | 2015-03-01 | 17.80 | | 5 | 3 | 2015-05-01 | 150.00 | | 6 | 4 | 2015-05-01 | 75.39 | +----+------------+------------+--------+
Code:
mysql> SELECT * FROM `product_price` WHERE `product_id`=1 AND `start_date`<='2015-[B][U]02[/U][/B]-01' LIMIT 1; +----+------------+------------+-------+ | id | product_id | start_date | price | +----+------------+------------+-------+ | 1 | 1 | 2015-01-01 | 12.50 | +----+------------+------------+-------+ 1 row in set (0.00 sec)
Abfrage 2:
Code:
mysql> SELECT * FROM `product_price` WHERE `product_id`=1 AND `start_date`<='2015-[B][U]03[/U][/B]-01' LIMIT 1; +----+------------+------------+-------+ | id | product_id | start_date | price | +----+------------+------------+-------+ | 1 | 1 | 2015-01-01 | 12.50 | +----+------------+------------+-------+ 1 row in set (0.00 sec)
Habe ich da einen Denkfehler? Oder gibt es eine Besonderheit bei MySQL die ich nicht kenne?
Bin dankbar für Hinweise...
Gruß
andyB.
Kommentar