select a.id , b.id from a,b

解决方案 »

  1.   

    使用交叉联接
    没有 WHERE 子句的交叉联接将产生联接所涉及的表的笛卡尔积。第一个表的行数乘以第二个表的行数等于笛卡尔积结果集的大小。下面是 Transact-SQL 交叉联接示例:USE pubs
    SELECT au_fname, au_lname, pub_name
    FROM authors CROSS JOIN publishers 
    ORDER BY au_lname DESC结果集包含 184 行(authors 有 23 行,publishers 有 8 行;23 乘以 8 等于 184)。不过,如果添加一个 WHERE 子句,则交叉联接的作用将同内联接一样。例如,下面的 Transact-SQL 查询得到相同的结果集:USE pubs
    SELECT au_fname, au_lname, pub_name
    FROM authors CROSS JOIN publishers 
    WHERE authors.city = publishers.city
    ORDER BY au_lname DESC— 或
    USE pubs
    SELECT au_fname, au_lname, pub_name
    FROM authors INNER JOIN publishers 
    ON authors.city = publishers.city
    ORDER BY au_lname DESC
      

  2.   

    select  分公司,sum(主动),sum(被动),sum(主动),sum(被动),sum(select count from 表 where a.分公司 = 分公司)
    from 表 A
    group by 分公司
    with rollup;