table node :
nid name value
1   abc  123
2   def  456table edge :
eid node1 node2 res
1   1     2     ok查询结果:
eid name1 name2 res
1   abc   def   ok

解决方案 »

  1.   

    select eid,node1.nid,node2.nid,res
    from edge,node as node1,node as node2
      

  2.   

    结果有出入啊:select eid,node1.nid,node2.nid
    from edge,node as node1,node as node2#result:
    eid node1 node2
    1   1     1    
    1   2     1
    1   1     2
    1   2     2 另,请问这是什么类型的查询?
      

  3.   

    SELECT e.eid,
           n1.name AS name1,
           n2.name AS name2,
           e.res
      FROM edge e,
      LEFT JOIN node n1
        ON e.node1 = n1.nid
      LEFT JOIN node n2
        ON e.node2 = n2.nid
      

  4.   

    另外一种写法
    select eid,n1.name,n2.name,res
    from edge e,node n1,node n2 where e.node1 = n1.nid and e.node2 = n2.nid
      

  5.   

    select e.eid,n1.name as name1,n2.name as name2,res
    from edge e,node n1,node n2
    where e.node1=n1.nid and e.node2=n2.nid 
      

  6.   

    SQL codeselect e.eid,n1.name as name1,n2.name as name2,res
    from edge e,node n1,node n2
    where e.node1=n1.nid and e.node2=n2.nid 
      

  7.   

    假设新表结构与SELECT语句结果一致
    insert into 新表
    select eid,node1.nid,node2.nid
    from edge,node as node1,node as node2
      

  8.   

    如果要显示合并的name怎么实现?查询结果: 
    eid name1 name2 res name
    1   abc   def   ok  abc_def
      

  9.   

    over,暂时的问题全解决了,感谢各位O(∩_∩)O谢谢