如何根据场景将多个表SQL连接在一起

How to join multiple tables SQL together according to scenario

我正在尝试编写一个我需要获取的查询

我对此感到困惑,因为所有这些信息都分散在不同的表格中。

我的表格内容如下;

Picking_List (warehouseID, locationID, productNum, requestNum, quantityPicked, datePicked, pickerStaffID)

INSERT INTO Picking_List (warehouseID, locationID, productNum, requestNum, quantityPicked, datePicked, pickerStaffID)
    VALUES ('1004','123','10','154','2','10/10/2021','4561');
INSERT INTO Picking_List (warehouseID, locationID, productNum, requestNum, quantityPicked, datePicked, pickerStaffID)
    VALUES ('1004','21','143','283','1','07/07/2021','1832');
INSERT INTO Picking_List (warehouseID, locationID, productNum, requestNum, quantityPicked, datePicked, pickerStaffID)
    VALUES ('1004','84','25','321','4','12/02/2020','3313');
INSERT INTO Picking_List (warehouseID, locationID, productNum, requestNum, quantityPicked, datePicked, pickerStaffID)
    VALUES ('1004','76','130','254','8','02/02/2019','2121');
INSERT INTO Picking_List (warehouseID, locationID, productNum, requestNum, quantityPicked, datePicked, pickerStaffID)
    VALUES ('1004','98','223','78','3','06/04/2021','1020');

员工(StaffID、姓氏、名字、出生日期、街道、城市、州、邮政编码、薪水、WarehouseID、SupervisedBy)

INSERT INTO Employee (staffID,surname, firstName, dob, street, city, state, postcode, salary, warehouseID, supervisedBy)
    VALUES ('4561', 'Snow', 'John', '30/12/1995', 'vulture', 'Brisbane', 'QLD', '4010', '60,000', '1004', 'Nosheen');
INSERT INTO Employee (staffID,surname, firstName, dob, street, city, state, postcode, salary, warehouseID, supervisedBy)
    VALUES ('1832', 'Turner', 'Mike', '01/07/2000', 'vulture', 'Brisbane', 'QLD', '4010', '66,000', '1004', 'Nosheen');
INSERT INTO Employee (staffID,surname, firstName, dob, street, city, state, postcode, salary, warehouseID, supervisedBy)
    VALUES ('3313', 'Smith', 'Jake', '06/06/1996', 'vulture', 'Brisbane', 'QLD', '4010', '55,000', '1004', 'Nosheen');
INSERT INTO Employee (staffID,surname, firstName, dob, street, city, state, postcode, salary, warehouseID, supervisedBy)
    VALUES ('2121', 'Jones', 'Sally', '26/04/1984', 'vulture', 'Brisbane', 'QLD', '4010', '78,000', '1004', 'Nosheen');
INSERT INTO Employee (staffID,surname, firstName, dob, street, city, state, postcode, salary, warehouseID, supervisedBy)
    VALUES ('1020', 'Wilson', 'Andrew', '11/03/1980', 'vulture', 'Brisbane', 'QLD', '4010', '100,000', '1004', 'Nosheen');

Stock_Request (requestNum, requestDate, clientNum )

INSERT INTO Stock_Request (requestNum,requestDate, clientNum)
    VALUES ('123','10/12/2021','1234');
INSERT INTO Stock_Request (requestNum,requestDate, clientNum)
    VALUES ('141','21/08/2020','134');
INSERT INTO Stock_Request (requestNum,requestDate, clientNum)
    VALUES ('15','05/02/2021','434');
INSERT INTO Stock_Request (requestNum,requestDate, clientNum)
    VALUES ('223','11/03/2019','472');
INSERT INTO Stock_Request (requestNum,requestDate, clientNum)
    VALUES ('535','10/10/2020','1402');

Request_List (requestNum, productNum, qtyRequested)

INSERT INTO Request_List (requestNum, productNum, qtyRequested)
    VALUES ('525','232','2');
INSERT INTO Request_List (requestNum, productNum, qtyRequested)
    VALUES ('111','104','1');
INSERT INTO Request_List (requestNum, productNum, qtyRequested)
    VALUES ('145','32','5');
INSERT INTO Request_List (requestNum, productNum, qtyRequested)
    VALUES ('674','100','10');
INSERT INTO Request_List (requestNum, productNum, qtyRequested)
    VALUES ('5','22','4';

到目前为止,这就是我得到的。

SELECT   C.surname,
         C.firstName, CA.pickerStaffID
  
FROM     employee AS C INNER JOIN Picking_List AS CA
ORDER BY employee ASC;

我不确定我是否已根据任务在查询中包含我需要的所有内容。任何帮助或建议将不胜感激,因为我对 SQL.

比较陌生

试试这个:

SELECT 
    concat(e.surname, ', ', e.firstName) as fullName
FROM
    Picking_List pl
INNER JOIN
    Employee e ON e.StaffID = pl.pickerStaffID
WHERE
    pl.requestNum = :RequestNumberToLookFor

:RequestNumberToLookFor 是您要查找的请求的请求编号。为您的代码使用适当的参数化语法。