1

テーブル tblSubscriptions にデータを挿入したいのですが、1 つの挿入ステートメントだけを使用したいと考えています。User Table にすべての userId のデータを挿入します。次の SQL は機能しません。

Insert tblSubscriptions (UserID, ProductID, isACtive, SubscriptionDays, Price, MonthlyPrice, ProductType, CurrencyID)
Values ((Select userID From tblUser where SubscriptionType in(1, 0, null)), 7, 1, 0, 0, 0, 30, 1)

1 つの挿入ステートメントを使用してこれを行う方法、つまりカーソルなし。

4

3 に答える 3

6

クエリ

INSERT INTO tblSubscriptions (UserID, ProductID, IsActive, SubscriptionDays, Price, MonthlyPrice, ProductType, CurrencyID)
SELECT UserID, 7, 1, 0, 0, 0, 30, 1 FROM tblUser WHERE ISNULL(SubscriptionType, 0) IN (1, 0)
于 2009-08-11T09:19:30.970 に答える
3
Insert tblSubscriptions (UserID, ProductID, isACtive, SubscriptionDays, Price, MonthlyPrice, ProductType, CurrencyID)
Select userID, 7, 1, 0, 0, 0, 30, 1
From tblUser where SubscriptionType in (1, 0) or SubScriptionType is null

IN句はNULLでは機能しません

于 2009-08-11T09:22:44.363 に答える
0

「値」を削除するだけです

INSERT(...)
SELECT ...
于 2009-08-11T09:18:06.293 に答える