Re: Difficult Query: is this possible in SQL?

From: --CELKO-- <jcelko212_at_earthlink.net>
Date: 3 Jul 2004 22:24:18 -0700
Message-ID: <18c7b3c2.0407032124.18c617f5_at_posting.google.com>


DROP TABLE Foobar;
CREATE TABLE Foobar
(level INTEGER NOT NULL PRIMARY KEY,
 color VARCHAR(10),
 length INTEGER,
 width INTEGER,
 hgt INTEGER);

INSERT INTO Foobar VALUES (1, 'RED', 8, 10, 12);
INSERT INTO Foobar VALUES (2, NULL, NULL, NULL, 20);
INSERT INTO Foobar VALUES (3, NULL, 9, 82, 25);
INSERT INTO Foobar VALUES (4, 'BLUE', NULL, 67, NULL);
INSERT INTO Foobar VALUES (5, 'GRAY', NULL, NULL, NULL);

SELECT

COALESCE (F5.color, F4.color, F3.color, F2.color, F1.color) AS color,
COALESCE (F5.length, F4.length, F3.length, F2.length, F1.length) AS length,
COALESCE (F5.width, F4.width, F3.width, F2.width, F1.width) AS width,
COALESCE (F5.hgt, F4.hgt, F3.hgt, F2.hgt, F1.hgt) AS hgt
FROM Foobar AS F1, Foobar AS F2, Foobar AS F3,
      Foobar AS F4, Foobar AS F5
WHERE F1.level = 1
  AND F2.level = 2
  AND F3.level = 3

  AND F4.level = 4
  AND F5.level = 5; Received on Sun Jul 04 2004 - 07:24:18 CEST

Original text of this message