表格仓库的表结构
CREATE TABLE Warehouse (
wID NUMBER(25) ,
Location VARCHAR2(70) ,
Num_Employees NUMBER(25) ,
Stock NUMBER(25) ,
PRIMARY KEY (wID)
);
CREATE SEQUENCE WAREHOUSE_SEQ
START WITH 1
INCREMENT BY 1
NOMAXVALUE;
INSERT INTO Warehouse (wID, Location, Num_Employees, Stock)
VALUES (WAREHOUSE_SEQ.nextval , 'Dallas', '3', '13');
INSERT INTO Warehouse (wID, Location, Num_Employees, Stock)
VALUES (WAREHOUSE_SEQ.nextval , 'Denver', '3', '07');
INSERT INTO Warehouse (wID, Location, Num_Employees, Stock)
VALUES (WAREHOUSE_SEQ.nextval , 'Detroit', '3', '09');
INSERT INTO Warehouse (wID, Location, Num_Employees, Stock)
VALUES (WAREHOUSE_SEQ.nextval , 'Phoenix', '3', '14');
INSERT INTO Warehouse (wID, Location, Num_Employees, Stock)
VALUES (WAREHOUSE_SEQ.nextval , 'Atlanta', '3', '07');
查询:
SELECT DISTINCT
Orders.wID,
person.name,
Employee.*,
Warehouse.wID
FROM person
INNER JOIN Orders ON Orders.wID = Warehouse.wID
INNER JOIN Warehouse ON Warehouse.LOCATION=Employee.WORK_LOCATION
INNER JOIN Employee ON Employees.ETYPE='Manager'
WHERE Employee.EID = person.Id;
发布于 2013-11-19 10:15:29
试试这个..。
SELECT DISTINCT Orders.wID, person.name, Employee.*, Warehouse.wID
FROM person INNER JOIN Employee
ON person.Id = Employee.EID
INNER JOIN Warehouse
ON Warehouse.LOCATION = Employee.WORK_LOCATION
INNER JOIN Orders
ON Orders.wID = Warehouse.wID
WHERE Employees.ETYPE ='Manager';
发布于 2013-11-19 10:14:15
问题是您的第一个连接:“在Orders.wID =Warehouse.wID上从person内部连接命令”
表'Warehouse‘目前还没有可用,但是您已经在'on’部分中提到了它。
发布于 2013-11-19 10:16:09
试着这样做:
SELECT DISTINCT Orders.wID,
person.NAME,
Employee.*,
Warehouse.wID
FROM person
INNER JOIN Employee ON Employee.EID = person.Id;
INNER JOIN Warehouse ON Warehouse.LOCATION = Employee.WORK_LOCATION
INNER JOIN Orders ON Orders.wID = Warehouse.wID
WHERE Employees.ETYPE = 'Manager'
https://stackoverflow.com/questions/20068558
复制相似问题