表结构: 
  id  name        value  nmae_cd 
  en  name_en1    111    1 
  en  name_en2    222    2 
  en  name_en3    333    3 
  ja  name_ja1    111    1 
  ja  name_ja2    222    2 
  zh  null        null  1 
..... 
....若干 我现在想查出结果是  
id  name      id  name       id      name 
en  name_en1  ja  name_ja1   ts    (空) 
en  name_en2  ja  name_ja2   ts    (空) 
en  name_en3  ja  (空)       ts    (空) 满足id='en' 的name 全部查出,并且如果id也等于ja 的数据不够条数就显示空, 
如果没有id等于ja(例:'ts')那么ts的数据内容为空或‘’. 我觉得说得挺清楚,请高手赐教。

解决方案 »

  1.   

    我才问过这个问题,结果没人回答,用我自己的方法帮你吧首先,你得分离en, ja, ts 出来,这个应该很简单吧
    table1: select id, name, nmae_cd from table where id="en"
    table2: ...
    table3: ...之后再创建一个table4(number),含有你觉得足够大的行数(9999),在left join
    select  table1.id, table1.name, table2.id, table2.name, table3.id, table3.name
    from ((table4 left join table1) left join table2) left join table3
    where table4.number=table1.nmae_cd, table4.number=table2.nmae_cd, table4.number=table3.nmae_cd最后在update,将全是null的项删掉。。