保存された手順から 1 つのデータ セットを返そうとしていますが、結果は 2 つのセットのうちの最初のものだけを返しています。次のデータ セットを 1 つだけ返すにはどうすればよいですか。
SELECT TOP 1 categoryname, displaypartno
FROM Categories
WHERE catalogid = @CatalogID AND source = @Manufacturer
ORDER BY categoryid DESC
IF @@RowCount=0
BEGIN
SELECT '' AS categoryname, displaypartno
FROM Products
WHERE catalogid = @CatalogID AND source = @Manufacturer
END
最初の SQL が行を返さない場合にのみ 2 番目の SQL を実行する必要があるため、UNION は使用できないと思います。