All pastes #500616 Raw Edit

Unnamed

public sql v1 · immutable
·published 2007-05-21 17:18 UTC
rendered paste body
CREATE TABLE ORDERS (  ORDER_ID CHAR(8) NOT NULL PRIMARY KEY);INSERT INTO ORDERS (ORDER_ID) VALUES  ('A'),  ('B'),  ('C');CREATE TABLE SUBORDERS1 (  ORDER_ID CHAR(8) NOT NULL REFERENCES ORDERS(ORDER_ID),  SUBORDER_ID CHAR(8) NOT NULL,  CONSTRAINT PK PRIMARY KEY (ORDER_ID, SUBORDER_ID));CREATE TABLE SUBORDERS2 (  ORDER_ID CHAR(8) NOT NULL REFERENCES ORDERS(ORDER_ID),  SUBORDER_ID CHAR(8) NOT NULL,  CONSTRAINT PK PRIMARY KEY (ORDER_ID, SUBORDER_ID));INSERT INTO SUBORDERS1 (ORDER_ID, SUBORDER_ID) VALUES  ('A', '1'),  ('A', '2'),  ('A', '3'),  ('B', '1'),  ('B', '2');INSERT INTO SUBORDERS2 (ORDER_ID, SUBORDER_ID) VALUES  ('A', '1'),  ('A', '2'),  ('A', '3'),  ('B', '1'),  ('C', '1'),  ('C', '2');WITHQ1 AS (  SELECT    O.ORDER_ID,    COUNT(*) AS COUNT  FROM    ORDERS O INNER JOIN SUBORDERS1 SO      ON O.ORDER_ID = SO.ORDER_ID  GROUP BY    O.ORDER_ID), Q2 AS (  SELECT    O.ORDER_ID,    COUNT(*) AS COUNT  FROM    ORDERS O INNER JOIN SUBORDERS2 SO      ON O.ORDER_ID = SO.ORDER_ID  GROUP BY    O.ORDER_ID)SELECT  Q1.ORDER_IDFROM  Q1 INNER JOIN Q2    ON Q1.ORDER_ID = Q2.ORDER_ID    AND Q1.COUNT = Q2.COUNT;