現有兩個表,字段即資料分別如下:
table1
id              name        qty
001           論壇           10
002           品號            2
table1 的 id 不會重復table2
no1      no2          id           name        qty
101    200901      001         論壇           1
101    200902      001         論壇           2
101    200903      001         論壇           3
101    200901      002         品號           1
table2 的 id有重復的
現在要用id字段將兩表關聯到一起,顯示的結果現同的ID只能出現一筆,所有欄位都要顯示,怎么處理

解决方案 »

  1.   

    SELECT * FROM TABLE1 A ,
    (SELECT * FROM TABLE2 T WHERE NOT EXISTS(SELECT 1 FROM TABLE2 WHERE ID=T.ID AND NO2<T.NO2))B WHERE A.ID=B.ID
      

  2.   

    select A.*,B.no1,B.no2,B.qty bqty from [Table1] A left join [Table2] B on A.id=B.id where not exists(select 1 from [Table2] where id=B.id and no2>B.no2)
      

  3.   

    SELECT *
    FROM TABLE1 A LEFT JOIN TABLE2 B ON A.ID = B.ID LEFT JOIN 
         (SELECT ID, MIN(QTY),   AS MFLAG FROM TABLE2 GROUP BY ID,QTY) LO ON B.QTY = LO.QTY AND B.ID = LO.ID   
      

  4.   


    select * from table2 a 
        where not exists (select * from table2 where ID=a.id and qty>a.qty)
      

  5.   

    select * from table1 as 1,table2 as 2 on(1.Id=2.Id) GROUP BY 1.no1