2011-12-10 14 views
0
INSERT INTO Checkout(ProductID, MemberID, Quantity) 
SELECT ProductID, MemberID, Quantity FROM Cart WHERE (MemberID = MemberID) 

新しいテーブルに移動した後にdeleteステートメントを使用して古いテーブルのデータを削除する方法はありますか? MEMBERIDがクエリSQLの挿入ステートメントでデータベース内の新しいテーブルに移動した後に古いテーブルのデータを削除する方法

+0

「WHERE(MemberID = MemberID)」を使用している理由は何ですか? – Yahia

+0

データを転送するために使用する必要があります –

+0

下記の私の答えを参照してください... – Yahia

答えて

0
DELETE FROM Cart WHERE MemberID = MemberID 

DELETE FROM CART C WHERE 
0 < (SELECT COUNT(*) FROM CHECKOUT CO WHERE CO.QUANTITY = C.QUANTITY AND CO.PRODUCTID = C.PRODUCTID AND CO.MEMBERID = C.MEMBERID) 

は、上記の3つの列MEMBERID, PRODUCTID, QUANTITYに基づいてCHECKOUTで発見されCARTからすべての行を削除してみてください。

ところで:WHERE (MemberID = MemberID)を使用している理由はありますか?

第2のMemberIDがクエリに渡されるパラメータである場合は、pMemberIDのような別の名前を使用することをお勧めします。これが可能であれば、DELETE FROM CART WHERE MEMBERID = pMEMBERIDです。

+0

または、より簡潔に:カートから削除します。または、より明示的に:カートから削除WHERE true。 –

+0

クエリ式 '(MemberID = MemberID) カートのWHERE(MemberID = MemberID)から削除する構文エラー(演算子がありません)'。 –

0

に渡される変数であると仮定すると

+0

はいmemberid = memberidここで、= memberidはmemberidに与えた値です。 –

+0

クエリを解析できません。クエリステートメントで構文エラーが発生しました。 –

+0

@KayLee 2番目のステートメントを使用することができます。 – Yahia

関連する問題