CREATE TABLE CUSTOMER (
CUSID VARCHAR(25) NOT NULL,
CNAME VARCHAR(50),
CONSTRAINT CUSTOMER_PKEY PRIMARY KEY (CUSID),
);
CREATE TABLE SHOP (
SHOPID VARCHAR(10) NOT NULL,
ADDRESS VARCHAR(25),
CONSTRAINT SHOP_PKEY PRIMARY KEY (SHOPID),
);
CREATE TABLE VISIT (
CUSID VARCHAR(25) NOT NULL,
SHOPID VARCHAR(10) NOT NULL,
VDATE DATE NOT NULL,
CONSTRAINT VISIT_PKEY PRIMARY KEY (CUSID, SHOPID, VDATE),
CONSTRAINT VISIT_FKEY1 FOREIGN KEY (CUSID) REFERENCES CUSTOMER(CUSID),
CONSTRAINT VISIT_FKEY2 FOREIGN KEY (SHOPID) REFERENCES SHOP(SHOPID)
);
如何找到已被访问过至少两次由名为'john'的客户访问的商店的地址? (CUSID> 2)的CNAME ='约翰'GROUP BY CUSID的SELECT CUSID(CUSID FROM CUSTOMER WHERE CNAME ='john'GROUP BY CUSID HAVING COUNT(CUSID)> 2);选择地址从商店天然加入访问。具有计数条件和等条件的Oracle Sql 3表
我已经尝试了很多种连接,似乎在我把count和equal条件放在一起之后,我的结果将会是0行。
提示连接表和用户的WHERE子句限制 – Randy 2013-05-06 12:22:41
的SO的目的是建立答案的存储库中的行*编程*这将是感兴趣的其他人的问题。这不是代理服务的功课。 – APC 2013-05-06 12:25:12
选择地址从商店天然加入访问在哪里CUSID(选择CUSID从客户那里CNAME ='约翰'GROUP BY CUSID具有COUNT(CUSID)> 2); – user2351750 2013-05-06 12:29:25