我有用戶(用戶名,密碼..等),一張桌子和一個又一個產品(產品名稱,價格,數量,用戶名 ..等)如何從多個表格中插入一個?
我想從第一個表的用戶名是(用產品信息的其餘部分)插入產品表中,當用戶出售它時。
我該怎麼做?
我使用Visual Web Developer 2008速成
我有用戶(用戶名,密碼..等),一張桌子和一個又一個產品(產品名稱,價格,數量,用戶名 ..等)如何從多個表格中插入一個?
我想從第一個表的用戶名是(用產品信息的其餘部分)插入產品表中,當用戶出售它時。
我該怎麼做?
我使用Visual Web Developer 2008速成
INSERT INTO product_information (username,product_name, ...., Date)
SELECT username, 'Book',....., Date
FROM users;
沿着這條線
這不完全選擇多個故事? '圖書'不應該在用戶表中...但也開放的問題是不是100%明確... – PatTech 2009-05-06 09:46:45
東西,如果你有LINQ的(.NET 3.5/C#3.0):
var users = from u in userTable
from p in productTable
where p.username = u.username
select new productDetails()
{
username = u.username,
price = p.price
}
然後newtable的.insertAllOnSubmit(用戶);
如果在直SQL
insert into newtable
select table1.value1, table2.value1
from table1, table2
where table1.username = table2.username
編輯:
澄清...值1和值2是從相應的案件列。每個要插入的參數都有一個。而你的新表成爲表1
你的問題並不完全合理。這聽起來像是你想插入一張表(Products
),其中一個字段也在另一個表中(User.username
)。 Products
的其餘數據來自哪裏?你不能直接插入用戶名嗎?
Insert into products (name, price, username) values (?, ?, ?)
使用您希望將數據傳遞給該SQL語句的任何機制。
但是,如果你確實有一個第三個表,說,「Prod_for_sale
」,你要插入一組數據到該表中,來自Users
和Products
,你可以做這樣的事情(由Rick的建議Ĵ,但這個例子有兩個表):
insert into products for sale (username, user_country, product_name, product_price)
select u.username, u.country, p.name, p.price
from products p, users u
where p.id = ?
and u.username = ?
然後你就可以複製你想要的任何數據,從表中的問題到目標表中。
儘管有一個建議:您應該使用用戶標識而不是用戶名來標識數據庫中用戶的數據。這將允許您稍後更改您的用戶名政策或允許更新用戶名等。通常會嘗試使您的所有標識符編號,並且您將在未來節省自己的麻煩。
我試過兩種方式與我有同樣的問題 「必須聲明標量變量@ProductName」這是已經宣佈 加上我沒有得到這個消息時,我只能插入到Products表信息未經任何選擇用戶表 – KmOj86 2009-05-06 11:20:43
你是想直接運行一個sql語句,還是使用一些asp.net控件?我假設後者,因爲你是mentinoing vs webdev。無論哪種方式,向我們展示代碼,以便我們可以看到失敗的情況。 – ahains 2009-05-06 13:27:24