2011-10-11 3 views
1

J'ai ce tableau:SQL: Rechercher zone remplie

CREATE TABLE coordinates (
    x INTEGER NOT NULL, 
    y INTEGER NOT NULL, 
    color VARCHAR(1) NOT NULL, 
    PRIMARY KEY(x,y) 
) 

Voici quelques exemples de données:

INSERT INTO coordinates 
    (x, y, color) 
VALUES 
    (0, 4, 'g'), 
    (1, 0, 'g'), 
    (1, 1, 'g'), 
    (1, 2, 'g'), 
    (1, 3, 'g'), 
    (0, 4, 'g'), 
    (1, 0, 'g'), 
    (1, 1, 'g'), 
    (1, 2, 'g'), 
    (1, 3, 'g'), 
    (1, 4, 'g'), 
    (2, 0, 'b'), 
    (2, 1, 'g'), 
    (2, 2, 'g'), 
    (2, 3, 'g'), 
    (2, 4, 'g'), 
    (4, 0, 'b'), 
    (4, 1, 'r'), 
    (4, 2, 'r'), 
    (4, 3, 'g'), 
    (4, 4, 'g'), 
    (6, 0, 'r'), 
    (6, 1, 'g'), 
    (6, 2, 'g'), 
    (6, 3, 'r'), 
    (6, 4, 'r') 
; 

Je suis en train d'écrire une requête qui trouve tous les rectangles plus grand de la région. Ceci suppose qu'un rectangle est défini par son coin inférieur gauche et son coin supérieur droit, et que 1/4 est r, 1/4 est b, 1/4 est g, 1/4 est y.

résultat à ce devrait être quelque chose de la même comme ceci:

x1 | y1 | x2 | y2 | area 
------------------------- 
0 1 6 9  58 
1 2 4 7  58 
+1

Est-ce un devoir? –

+0

Votre dans CSC343 ne vous arent – 1337holiday

Répondre

1

une fonction qui calcule la zone et interroger la fonction pour obtenir le plus grand.