Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何将多个表插入到一个表中?_Asp.net_Sql_Vb.net_Visual Studio - Fatal编程技术网

Asp.net 如何将多个表插入到一个表中?

Asp.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

我有一个用户用户名、密码的表格。。等,另一个用于产品名称、价格、数量、用户名。。等

我希望在用户出售产品时,将第一个表中的用户名与其他产品信息一起插入到产品表中

我该怎么做

我正在使用VisualWebDeveloper2008Express

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较量。无论哪种方式,向我们展示代码,以便我们看到失败的地方。