異なるテーブルから同じ列を取得したいので、ユーザー関数を使用します。しかし、Returnの前に結果テーブルをソートしたいと思います。このコードでは、一時テーブルを使用してこれを実行しようとしています。sql return:'@Result'の近くの構文が正しくありません。これどうやってするの?
ありがとう
ここにコードがあります:
CREATE FUNCTION sp_GetAllNotConfirmedOrders
()
RETURNS @Result TABLE
(
OrderId int,
CreationDate datetime,
BusinessName nvarchar(150),
BusinessPhone nvarchar(20),
UserType int
)
AS
BEGIN
DECLARE @TempData TABLE
(
OrderId int,
CreationDate datetime,
BusinessName nvarchar(150),
BusinessPhone nvarchar(20),
UserType int
)
INSERT INTO @TempData
SELECT Orders.OrderId, ZimmerOrders.CreationDate,Zimmers.OwnerName, Zimmers.PhoneNUmber1, 2
FROM Orders INNER JOIN
ZimmerOrders ON Orders.OrderId = ZimmerOrders.OrederId INNER JOIN
ZimmerRooms ON ZimmerOrders.RoomId = ZimmerRooms.RoomId INNER JOIN
Zimmers ON ZimmerRooms.ZimmerId = Zimmers.UserId
WHERE (Orders.IsConfirm = 0)
INSERT INTO @TempData
SELECT Orders.OrderId, HotelOrders.CreationDate, Hotels.PhoneNumber1, Hotels.HotelName, 4
FROM HotelOrders INNER JOIN
HotelRooms ON HotelOrders.RoomId = HotelRooms.RoomId INNER JOIN
Hotels ON HotelRooms.HotelId = Hotels.UserId INNER JOIN
Orders ON HotelOrders.OrderId = Orders.OrderId
WHERE (Orders.IsConfirm = 0)
SELECT * INTO @Result FROM @TempData ORDER BY CreationDate
RETURN
END