2012-01-21 9 views
1

2つのテーブルと対話するこのクエリを作成しましたが、両方のテーブルが同じフィールド名を共有しているためデータの取得に問題があります。sqlの結果にエイリアスを与える

SELECT * FROM `data` d JOIN `ans` a ON d.id=a.id AND d.id=2987 

結果は次のとおりです。

id nick  msg  time  ip time_updated id nick msg  time ip 

は、どのように私はそれがこのように見えるようにすることができますか?

a.id a.nick a.msg   a.time  a.ip a.time_updated b.id b.nick b.msg b.time b.ip 

答えて

3

あなたはフィールドに別名を与える必要があります。

SELECT a.id AS a_id, b.id AS b_id .... 
4

あなたがこれを行うには、特に、各フィールドに名前を付ける必要があります。

SELECT a.id AS 'a.id', a.nick AS 'a.nick', ... FROM `data` d JOIN `ans` a ON d.id=a.id AND d.id=2987 
+0

私は多分それに良い方法があると思った。thx! – eben

+0

一般に、あなたは '選択* 'したくないでしょう。実際に必要なデータを選択するほうが、より速く(より速く、より少ない帯域幅で)良いでしょう。 – ceejayoz

関連する問題