Asp.net 如何将多个表插入到一个表中?
我有一个用户用户名、密码的表格。。等,另一个用于产品名称、价格、数量、用户名。。等 我希望在用户出售产品时,将第一个表中的用户名与其他产品信息一起插入到产品表中 我该怎么做 我正在使用VisualWebDeveloper2008ExpressAsp.net 如何将多个表插入到一个表中?,asp.net,sql,vb.net,visual-studio,Asp.net,Sql,Vb.net,Visual Studio,我有一个用户用户名、密码的表格。。等,另一个用于产品名称、价格、数量、用户名。。等 我希望在用户出售产品时,将第一个表中的用户名与其他产品信息一起插入到产品表中 我该怎么做 我正在使用VisualWebDeveloper2008Express INSERT INTO product_information (username,product_name, ...., Date) SELECT username, 'Book',....., Date FROM users; 如果您使用的是Linq
INSERT INTO product_information (username,product_name, ...., Date)
SELECT username, 'Book',....., Date
FROM users;
如果您使用的是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.insertAllOnSubmitusers
如果在直sql中
insert into newtable
select table1.value1, table2.value1
from table1, table2
where table1.username = table2.username
编辑:
为了澄清。。。value1和value2是来自相应案例的列。每个要插入的参数都有一个。你的新表格变成了表1。你的问题没有什么意义。听起来像是要插入到一个表产品中,而其中一个字段也在另一个表User.username中。产品的其他数据来自哪里?你不能直接插入用户名吗
Insert into products (name, price, username) values (?, ?, ?)
使用任何希望将数据传递到该SQL语句的机制
但是,如果您实际上有第三个表,例如“Prod_for_sale”,并且您希望向该表中插入来自用户和产品的大量数据,您可以按照Rick J的建议执行类似操作,但本例有两个表:
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 = ?
然后,您可以将所需的任何数据从相关表复制到目标表中
不过有一点建议:您应该使用用户ID而不是用户名来标识数据库中用户的数据。这将允许您在以后更改用户名策略或允许更新用户名等。通常,请尝试使用所有标识符编号,这样以后您就不会有麻烦了。这并不是从多个选项中进行选择“书本”不应在用户表中。。。但是,开始的问题也不是100%清楚……你所说的value1和value2是什么意思?顺便说一句,我想从表1和表2插入表1没有其他表我尝试了这两种方法,我遇到了相同的问题,必须声明标量变量@ProductName,该变量已声明,而且我没有收到此消息,当我只向产品表插入信息而不从用户表中选择任何内容时,您是否尝试运行sql语句直接,或者您正在使用asp.net控件或其他什么?我假设是后者,因为你正在和webdev较量。无论哪种方式,向我们展示代码,以便我们看到失败的地方。