我正在使用IF语句将数据插入到ProductTable中(使用此名称作为示例)所以我如何打开IF语句...下面调用IF查询但从未到达else,如果它表中确实存在,所以这里是我目前所处位置的一个例子。我的错误在于开始时的IF语句,但我无法确定要使其工作的内容
IF NOT EXISTS(SELECT TOP 1 ProductID FROM ProductTable)
BEGIN
INSERT
(ProductName, UnitPrice)
SELECT
ProductView.ProductName,
ProductView.UnitPrice
FROM ProductView
INNER JOIN ProductTable ON ProductView.ProductID = ProductTable. ProductID
WHERE ProductID = (SELECT TOP 1 ProductID FROM ProductTable ORDER BY changedate DESC)
AND NOT EXISTS(SELECT 1 FROM ProductTable WHERE ProductView.ProductID = ProductTable.ProductID)
END
ELSE
INSERT
(ProductName, UnitPrice)
SELECT
ProductView.ProductName,
UnitPrice = 0.00
FROM ProductView
INNER JOIN ProductTable ON ProductView.ProductID = ProductTable. ProductID
WHERE ProductID = (SELECT TOP 1 ProductID FROM ProductTable ORDER BY changedate DESC)
答案 0 :(得分:1)
怎么样
SELECT TOP 1 1 FROM Table1
IF @@ROWCOUNT = 0
BEGIN
-- Do stuff
END
答案 1 :(得分:0)
这就是我追求的目标:
IF NOT EXISTS(SELECT ProductTable.CustomerReference FROM ProductTable)
BEGIN
something
END
ELSE
something else
我不需要包含TOP 1,而且我错过了将其引用到主表的关系