一次往一个表里保存很多一样的东西,只有商家姓名这个字段不同,这个表是个价格表,
有以下几个字段   编号,主题,型号,商家名称,价格 
比方说这次来了20个型号的价格,我要把这个20个型号的价格和每个商家名称搭配保存在同一个表里,
商家名称是从另一个表里取得的,以往的保存的方法是用recordset,addnew,然后 update,这样的话就要循环每个商家名称来保存一次了,我觉得这样挺慢的,是不是有sql语句,可以一次搞定呢?例如;我这次要增加 商家1,商家2,商家3 这三个商家,如何能一句搞定呢?我觉得sql应该有这样的功能吧,请高手指点。

解决方案 »

  1.   

    交叉联接返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉联接也称作笛卡尔积。没有 WHERE 子句的交叉联接将产生联接所涉及的表的笛卡尔积。第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小。也就是说在没有WHERE子句的情况下,若表A有3行记录,表B有6行记录::SELECT  A.*,B.*  FROM 表A  CROSS  JOIN 表B那以上语句会返回18行记录。不过access似乎不支持。
      

  2.   

    单纯用一条语句是不可能的没有的,,
    不过可以灵活采用一个循环和一个SQL语句搞定,
    这样是可以实现的.
      

  3.   

    有些时候数据库操作还是要考虑一下SQL语句,比如楼主的问题可以采用SQL语句Insert来完成
    选使用循环组成SQL语句,即一个字符串(String)然后一次性执行即可。
    参考一下面这C++版的贴子:
    http://community.csdn.net/Expert/topic/4098/4098581.xml?temp=.4600183