sql join問題

  1. SELECT apply.*,categories.category,posts.post,units.unit FROM apply LEFT JOIN categories ON apply.categoryid = categories.id LEFT JOIN posts ON apply.postid = posts.id LEFT JOIN units ON apply.unitid = units.id
複製代碼
  1. id         categoryid         lastname         firstname         nickname         postid         unitid         unitid2         email         groups         approver         status         created         category         post         unit
複製代碼
我想出埋unitid2係唔係要加多個join
但係又要點識別unitid2撈出來既unit
thanks ching

例如我個表A  id  postid   postid2
1 1 2
表B    id  post
1 中文
2 英文

select  A 可以出到
1  中文  英文
many thanks

TOP

係, 你要加多個left join
SQL 可以alias個table名, 用呢個方法去識別

TOP

回覆 3# alexwang


   Ching , alias個table冇用
因為最終都係出結果,
反而SELECT column_name AS alias_name 有用
但我分唔到
postid postid2
又要點做
  1. TABLE A  
  2. id              name
  3. 1               中文
  4. 2                英文

  5. TABLE B
  6. id               postid          postid2
  7. 1                 1                      2
複製代碼

TOP

  1. SELECT apply.*,categories.category,posts.post,units.unit FROM apply LEFT JOIN categories ON apply.categoryid = categories.id LEFT JOIN posts ON apply.postid = posts.id LEFT JOIN units ON apply.unitid = units.id LEFT JOIN units ON apply.unitid2 = units.id
複製代碼
會出現
  1. #1066 - Not unique table/alias: 'units'
複製代碼

TOP

  1. SELECT apply.*,categories.category,posts.post,units.unit,unit2.unit FROM apply LEFT JOIN categories ON apply.categoryid = categories.id LEFT JOIN posts ON apply.postid = posts.id LEFT JOIN units ON apply.unitid = units.id LEFT JOIN units as unit2 ON apply.unitid2 = unit2.id
複製代碼
解決左
thanks

TOP