我遇到两个问题:
ALTER PROCEDURE pracownik_zamowienie (@id int)
AS
IF (SELECT EmployeeID FROM Orders WHERE EmployeeID LIKE @id) LIKE @id
BEGIN
SELECT OrderID FROM Orders
END
ELSE
BEGIN
SELECT OrderID, EmployeeID FROM Orders
END
这一个:
ALTER PROCEDURE dwa_produkty1 (@id1 int, @id2 int) AS
IF (SELECT OrderID FROM [Order Details] WHERE ProductID LIKE @id1) LIKE (SELECT OrderID FROM [Order Details] WHERE ProductID LIKE @id2)
BEGIN
SELECT OrderID FROM [Order Details]
END
首先,我希望获得自己键入ID的员工的orderID,但它不起作用。当我输入不在数据库中的ID时,查询返回正确的答案。
在第二个查询中,我想得到的答案应该是OrderID的列表,其中包含两个不同的ProductID。
你能帮帮我吗?谢谢答案 0 :(得分:0)
我认为这将回答你的第一个问题
IF EXISTS(SELECT EmployeeID FROM Orders WHERE EmployeeID =@id)
BEGIN
SELECT OrderID FROM Orders WHERE EmployeeID =@id
END
ELSE
BEGIN
SELECT OrderID, EmployeeID FROM Orders
END
第二个查询应该是这样的:
SELECT OrderID FROM where ProductID IN (@id1, @id2)