我有一个不同寻常的问题,即使是我的实验室教授也不是百分之百确定它想要什么,但我会提出一些想法。给定的问题是“下面列出的查询必须使用集合代数操作来实现:找到订购产品豆腐或产品Tunnbrod的所有客户的代码”。
我的教授认为这是要求加入工会,我在其中提出了以下几点:
SELECT CUSTOMER_CODE
FROM ORDERS
WHERE CUSTOMER_CODE = ORDER_ID
UNION ALL
SELECT PRODUCT_NAME
FROM ORDER_DETAIL
WHERE PRODUCT_NAME = 'Tunnbrod' AND ‘Tofu’;这段代码就像一个列表,只是让Tunnbrod成为一个客户代码,所以我不确定我到底需要做什么。我的教授确实提到了运算or和and操作数,在这些操作数中,我试图得到预期的结果,但失败了。
以下是供参考的表格
CREATE TABLE ORDERS
(
ORDER_ID DECIMAL(9) NOT NULL,
CUSTOMER_CODE VARCHAR(5) NOT NULL,
EMPLOYEE_ID DECIMAL(9) NOT NULL,
ORDER_DATE DATE NOT NULL,
REQUIRED_DATE DATE,
SHIPPED_DATE DATE,
SHIP_VIA VARCHAR(40),
FREIGHT DECIMAL(10,2) DEFAULT 0,
SHIP_NAME VARCHAR(40),
SHIP_ADDRESS VARCHAR(60),
SHIP_CITY VARCHAR(15),
SHIP_REGION VARCHAR(15),
SHIP_POSTAL_CODE VARCHAR(10),
SHIP_COUNTRY VARCHAR(15),
CONSTRAINT PK_ORDERS PRIMARY KEY (ORDER_ID),
CONSTRAINT FK_CUSTOMER_CODE FOREIGN KEY (CUSTOMER_CODE) REFERENCES CUSTOMER(CUSTOMER_CODE),
CONSTRAINT FK_EMPLOYEE_ID FOREIGN KEY (EMPLOYEE_ID) REFERENCES EMPLOYEE(EMPLOYEE_ID),
CONSTRAINT FK_SHIP_VIA FOREIGN KEY (SHIP_VIA) REFERENCES SHIPPER(COMPANY_NAME)
);CREATE TABLE ORDER_DETAIL
(
ORDER_ID DECIMAL(9) NOT NULL,
PRODUCT_NAME VARCHAR(40) NOT NULL,
UNIT_PRICE DECIMAL(10,2) NOT NULL DEFAULT 0,
QUANTITY DECIMAL(9) NOT NULL DEFAULT 1 ,
DISCOUNT DECIMAL(4,2) NOT NULL DEFAULT 0,
CONSTRAINT PK_ORDER_DETAIL PRIMARY KEY (ORDER_ID, PRODUCT_NAME),
CONSTRAINT FK_ORDER_ID FOREIGN KEY (ORDER_ID) REFERENCES ORDERS (ORDER_ID),
CONSTRAINT FK_PRODUCT_NAME FOREIGN KEY (PRODUCT_NAME) REFERENCES PRODUCT (PRODUCT_NAME),
CONSTRAINT CK_ORDER_DETAIL_UNIT_PRICE CHECK (UNIT_PRICE >= 0),
CONSTRAINT CK_ORDER_DETAIL_QUANTITY CHECK (QUANTITY > 0),
CONSTRAINT CK_ORDER_DETAIL_DISCOUNT CHECK (DISCOUNT between 0 and 1)
);发布于 2019-05-10 20:26:21
对于一个原本很简单的问题,这是一个很奇怪的问题:
Select * orders inner join order_details where PRODUCT_NAME = 'Tunnbrod' OR PRODUCT_NAME = ‘Tofu’当然,您可以显式地使用UNION而不是OR
Select * orders inner join order_details where PRODUCT_NAME = 'Tunnbrod'
UNION
Select * orders inner join order_details where PRODUCT_NAME = ‘Tofu’ https://stackoverflow.com/questions/56077541
复制相似问题