请问我怎么回出现这种情况
select a.id ,a.name from a 这样可以查询出一些数据,但是如果我改成
select a.id ,a.name from a,b就会有很多重复的记录
这是什么原因啊,表B对这个应该没有什么影响啊

解决方案 »

  1.   

    因为你没有加限制条件,相当于是a jion b
    需要select a.id ,a.name from a,b wehre a.id=b.id
      

  2.   

    select a.id ,a.name 
    from a,b 
    where a.id=b.idor
    select a.id ,a.name from a 
    inner join b on a.id = b.id
      

  3.   

    select distinct a.id,a.name from a.b
    or
    select a.id ,a.name from a,b wehre a.id=b.id
      

  4.   

    我觉得我的这段语句应该跟表B没什么关系吧,我没写WHERE语句,应该加不加表B,没什么区别啊
      

  5.   

    select a.id ,a.name from a     a.id的a 应该是表a的别名,你加了表b它分不出来了
      

  6.   

    看过电影黑客帝国了吧?知道上面的矩阵吧?select a.id ,a.name from a,b
    其实就是一个矩阵,得出a的记录数*b的记录数,不信你看看记录条数
      

  7.   

    如果不关联,那qi_ting(奶牛)的
    select distinct a.id,a.name from a,b
    就去掉了重得项,得出的值也是正确的但是如果你取得不仅仅是a.表的记录,还带B表的的话,distinct也不行的
      

  8.   

    哎 影响大了 找个sql基础看看
      

  9.   

    好好看卡SQL语句的基础部分吧
      

  10.   

    同意奶牛的.
    "select distinct a.id,a.name from a,b"
      

  11.   

    select a.id,a.name from a,b其实是查个矩阵?怎么会这样啊