ユーザから提供された値に基づいて必要な値の一部を選択してデータを挿入する必要があります。別のテーブルから値を選択してデータを挿入する方法
scenerioでは、クライアントはstaff_name, customer_name
とproduct_name
を提供します。 INSERT
は、対応するIDを取得するために、他のテーブルから必要なデータを検索します。
これは私が現在
INSERT INTO [Order](product_id,
customer_id,
staff_id,
vehicle_regno,
order_details,
total_price,
order_date)
SELECT
stock.id,
customers.id AS Expr1,
Staff.id AS Expr2,
@vehicle_regno AS Expr3,
@order_details AS Expr4,
@total_price AS Expr5,
@order_date AS Expr6
FROM
stock
CROSS JOIN
customers CROSS
JOIN
Staff
WHERE
(stock.name = @stock_name)
AND (customers.name = @customers_name)
AND (Staff.name = @staff_name)
を持っているものですが、それは任意のレコードに私は解決策は、それを単純化することにあると思いますあなたの助け
さて、最初のステップは次のようなものです:それ自身で 'SELECT'を実行します - それは何かを返しますか?私が最も心配しているのは、あなたは「スタッフ」テーブルに参加していますが、JOIN状態を提供していません....それはデカルト製品になります。また、顧客とのつながり - 本当ですか??株式と顧客の間には何の関係もありませんか? –
あなたはすでにあなたの挿入用に4つのSQL変数を持っているのを見て、なぜあなたは正しい 'stockId'を決めることができなかったのですか? 、 'customerId'と' staff.id'を 'INSERT'の前の文で置き換えます。私はあなたが1つずつ持っていたいと思っています - そうですか? UmutDerbentoğluこの@ –
は、クエリデザイナーは、このselect文がINSERT文 – Smith