select a.ID,a.LAC,a.BSC,a.cell_ID,a.site_name,a.site_type,a.site_cover_type,a.BCCH,a.LONGITUDE,a.LATITUDE,a.DIRECTION,ROUND(drop_call_rate,4) as myvalue from FromBaseCell a LEFT OUTER JOIN P200310_CENTER_CELL b ON isnull(a.cell_name,'') = isnull(b.cell_id,'') WHERE b.datetime = '2003-10-13 16:00:00' order by a.ID

解决方案 »

  1.   

    试了不行,是这样的,a表中有些cell是b表中没有的,现在希望连接后的结果中把a,b的并集弄出来。
      

  2.   

    按你说的就是这么写,你列出一些测试数据来select a.ID,a.LAC,a.BSC,a.cell_ID,a.site_name,a.site_type,a.site_cover_type,a.BCCH,a.LONGITUDE,a.LATITUDE,a.DIRECTION,ROUND(drop_call_rate,4) as myvalue from FromBaseCell a LEFT JOIN P200310_CENTER_CELL b ON isnull(a.cell_name,'') = isnull(b.cell_id,'') WHERE b.datetime = '2003-10-13 16:00:00' order by a.ID
      

  3.   

    比如a表中id = 8,cell_name = 460-00-22453-12752和
    id = 10,cell_name = null 这两条记录,
    b表中都没有这两个cell的,但是连接后的结果中,这两条记录也没有!
      

  4.   

    你用什么连?id?name? 
    select a.ID,a.LAC,a.BSC,a.cell_ID,a.site_name,a.site_type,a.site_cover_type,a.BCCH,a.LONGITUDE,a.LATITUDE,a.DIRECTION,ROUND(drop_call_rate,4) as myvalue from FromBaseCell a LEFT JOIN P200310_CENTER_CELL b ON isnull(a.cell_id,'') = isnull(b.cell_id,'') WHERE b.datetime = '2003-10-13 16:00:00' order by a.ID
      

  5.   

    通过a.cell_name = b.cell_id,
    在a表中字段名是cell_name,在b表中是cell_id,它们的内容都一样的,是460-00-22303-12345的形式,都是varchar类型,唯一的不同的是定义的长度不一样,一个定义为最长32个字节,一个定义为255个字节
      

  6.   

    但是我连接另外两个表,语句如下:
    SELECT a.*, b.*
    FROM 小区参数表 a LEFT OUTER JOIN
          天线方向表 b ON a.LAC = b.LAC AND a.CI = b.CI
    ORDER BY a.id
    结果就对的,a表中有而b表中没有的数据也在结构集中,怪事!
    难道一定要连接的字段名一样?
      

  7.   

    不可能,你仔细看看,把两个表的数据:a b
    ---
    a b
    a b
    ---
    这样列出来
      

  8.   

    ft,现在我改成这样,可以了!
    SELECT a.id, a.cell_id, a.SITE_Name, a.site_type, a.site_cover_type, a.longitude, 
          a.latitude, a.direction, ROUND(b.Drop_Call_Rate, 4) AS Expr1
    FROM frombasecell a LEFT OUTER JOIN
          P200310_CENTER_CELL b ON a.cell_name = b.cell_id AND 
          b.datetime = '2003-10-13 16:00:00'
    ORDER BY a.id
    也就是把原来的where 改成 and,一起放在on 后面,就可以了!怪!