Hallo,
folgendes Script:[highlight=sql]CREATE TABLE `t1` (`id` INT NULL
) COLLATE='latin1_german1_ci' ENGINE=InnoDB;
CREATE TABLE `t2` (`id` INT NULL
) COLLATE='latin1_german1_ci' ENGINE=InnoDB;
INSERT INTO t1 VALUES (1), (2), (3);
INSERT INTO t2 VALUES (4), (5), (6);
SELECT x.id, message FROM (
SELECT id FROM t1
) x
LEFT JOIN (SELECT id, 1 AS message FROM t2
) y ON x.id = y.id
WHERE COALESCE(message, 0) <> 0[/highlight]
Führe ich das Statement aus (MariaDB 10.0.12), dann wird die letzte WHERE-Klausel ignoriert, ich erhalte also Zeilen mit message = NULL.
Führe ich das Script auf MySQL (5.5.15) aus, bekomme ich - korrekt - keine Ergebnisse.
Wenn ich t1 nicht als derived Table anspreche, sondern gleich normal hinterm FROM (was näher läge), funktioniert's übrigens korrekt, aber als derived table eben nicht.
Könnt Ihr dieses Verhalten bestätigen? Was übersehe ich? Woran liegt das? Ich würde denken, dass da MySQL korrekt arbeitet, MariaDB nicht. Ist das ein Bug?
Über Eure Einschätzung würde ich mich freuen, ich bin ein wenig verunsichert ...
Dave
folgendes Script:[highlight=sql]CREATE TABLE `t1` (`id` INT NULL
) COLLATE='latin1_german1_ci' ENGINE=InnoDB;
CREATE TABLE `t2` (`id` INT NULL
) COLLATE='latin1_german1_ci' ENGINE=InnoDB;
INSERT INTO t1 VALUES (1), (2), (3);
INSERT INTO t2 VALUES (4), (5), (6);
SELECT x.id, message FROM (
SELECT id FROM t1
) x
LEFT JOIN (SELECT id, 1 AS message FROM t2
) y ON x.id = y.id
WHERE COALESCE(message, 0) <> 0[/highlight]
Führe ich das Statement aus (MariaDB 10.0.12), dann wird die letzte WHERE-Klausel ignoriert, ich erhalte also Zeilen mit message = NULL.
Führe ich das Script auf MySQL (5.5.15) aus, bekomme ich - korrekt - keine Ergebnisse.
Wenn ich t1 nicht als derived Table anspreche, sondern gleich normal hinterm FROM (was näher läge), funktioniert's übrigens korrekt, aber als derived table eben nicht.
Könnt Ihr dieses Verhalten bestätigen? Was übersehe ich? Woran liegt das? Ich würde denken, dass da MySQL korrekt arbeitet, MariaDB nicht. Ist das ein Bug?
Über Eure Einschätzung würde ich mich freuen, ich bin ein wenig verunsichert ...
Dave
Comment