2012-10-12 82 views
4

我有2個表,MySQL的加入2個表,但因爲它們具有相同的名稱

管理員重命名列,定價

  • 管理包含列(ID,DATE_CREATED,類型,值)
  • 定價包含列(ID,DATE_CREATED,關係,值)

我想要做一個選擇加入兩個表,其中pricing.relation = admin.id

如何重命名值,id和date_created行,使它們不會相互覆蓋?

這是有點兒事我試圖:

$sub_types = $database->query(' 
    SELECT 
    pricing.*, 
    admin.* 
     FROM 
     pricing, 
     admin 
      WHERE pricing.relation = admin.id 
'); 
+3

你可以在這裏使用'AS'運營商,即'pricing.id爲price_id' – Sammaye

+0

準確 - 因爲它是你想要使用的東西。不僅它可以幫助你獲得重複的名字,還可以鼓勵你只使用那些你真正想要的列:) 我的意思是:當我們使用「SELECT *」時,我們總是希望所有的列?或者我們只是懶惰地手動鍵入我們真正想要的列? :) – Vafliik

+0

懶惰......等:)問題? hehehehe – Jimmyt1988

回答

9

可以使用別名:

SELECT p.id as pid, 
     p.date_created as pricing_date, 
     p.type, p.value as pricing_value, 
     a.id as aid, 
     a.date_created as admin_date, 
     a.relation, 
     a.value as admin_value 
FROM pricing p 
inner join admin a on p.relation = a.id 
+0

Caw謝謝。我完全忘了。 – Jimmyt1988

+0

工作很好。乾杯! – Jimmyt1988

+0

你剛剛給了我一個想法如何解決不同的問題,謝謝。 – Linas

相關問題