안녕하세요 저는 이번 주에 숙제에 대한 몇 가지 질문을 작성하고 있는데 이것으로 막혔습니다. 조인을 사용하지 않고 여러 테이블에서 정보를 수집해야 합니다.
내 현재 코드는 출력을 보여주지만 dosent는 올바른 결과를 제공합니다. 문제에 따라 한 번 대신 테이블의 내용을 5번 인쇄합니다.
SELECT CLIENT.clientName, REQUEST_LIST.productNum, REQUEST_LIST.qtyRequested
FROM CLIENT, REQUEST_LIST
WHERE CLIENT.clientNum IN (
SELECT clientNum
FROM STOCK_REQUEST)
AND REQUEST_LIST.requestNum IN (
SELECT requestNum
FROM STOCK_REQUEST)
ORDER BY CLIENT.clientName , REQUEST_LIST.productNum
다음은 테이블입니다.
(stock request)
INSERT INTO Stock_Request (requestDate, clientNum)
VALUES ('2020-12-10',1);
INSERT INTO Stock_Request (requestDate, clientNum)
VALUES ('2020-05-04',2);
INSERT INTO Stock_Request (requestDate, clientNum)
VALUES ('2021-07-06',3);
INSERT INTO Stock_Request (requestDate, clientNum)
VALUES ('2021-07-08',4);
INSERT INTO Stock_Request (requestDate, clientNum)
VALUES ('2022-02-07',5);
(request list)
INSERT INTO Request_List (requestNum, productNum, qtyRequested)
VALUES (1,1,1);
INSERT INTO Request_List (requestNum, productNum, qtyRequested)
VALUES (2,2,2);
INSERT INTO Request_List (requestNum, productNum, qtyRequested)
VALUES (3,3,3);
INSERT INTO Request_List (requestNum, productNum, qtyRequested)
VALUES (4,4,4);
INSERT INTO Request_List (requestNum, productNum, qtyRequested)
VALUES (5,5,5);
(client)
INSERT INTO Client (clientName)
VALUES ('Mike');
INSERT INTO Client (clientName)
VALUES ('John');
INSERT INTO Client (clientName)
VALUES ('Sally');
INSERT INTO Client (clientName)
VALUES ('Margret');
INSERT INTO Client (clientName)
VALUES ('Max');
도움을 주시면 감사하겠습니다.
예상 출력: (실제 숫자 아님)
client number | product number | quantity requested
John Smith. 1. 3
Margret Thatcher. 3. 7
Max Payne. 6. 1
Mike Costello. 2. 1
Sally Barbarella. 4. 4
첫째, 테이블 에서 값 clien_num
과 request_num
값 을 가져오기 위해 하위 쿼리를 사용할 필요가 없습니다 . 쿼리 절 stock_request
에서 조건을 사용 하십시오. where
행 세트는 stock_request
레코드로 제한되며 행 값은 client
및 request_list
테이블에서 적절한 값을 가져올 수 있습니다.
둘째, 대소문자를 구분하는 테이블 및 열 이름을 사용하지 않는 것이 좋습니다. 오타로 인해 오류가 발생할 수 있습니다.
마지막으로, 귀하의 쿼리는 다음과 같습니다
SELECT
client.client_name,
request_list.product_num,
request_list.qty_requested
FROM client, request_list, stock_request
WHERE client.client_num = stock_request.client_num AND stock_request.request_num = request_list.request_num
ORDER BY client.client_name , request_list.product_num
바이올린 확인 https://www.db-fiddle.com/f/nFQ3s1GGEELCMoPBvPYwyk/1
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다