0

私は面白い問題に遭遇しました:

いくつかの列を持つ2つのテーブルt1とt2があります。両方のテーブルの2つの列は同じ名前であるため、次のようにする必要があります。

SELECT t1.foo AS ID, t2.bar as NAME
FROM t1, t2
WHERE t1.foo = t2.foo;

回答の見出しはt1.ID、t2.NAMEです。

私は見出しのテーブル名を知りません。

おかしなことに、ビューで同じクエリを使用すると、正しい/必要な見出しが返されます:ID ... NAME

同じ動作が観察されているストアドプロシージャでこれらのクエリを使用したいと思います。

MySQL5.5.9で試してみました

見出しのテーブル名を避ける方法はありますか?

4

2 に答える 2

0
SELECT ID, NAME
FROM (SELECT t1.foo AS ID, t2.bar as NAME
FROM t1, t2
WHERE t1.foo = t2.foo) AS t;
于 2012-07-25T07:18:06.343 に答える
0

単純な文字列または int 関数を使用して、フィールドからリンクされたテーブル名を取り除くことができます。

SELECT (t1.foo+0) AS ID, CONCAT(t2.bar) as NAME
FROM t1, t2
WHERE t1.foo = t2.foo;
于 2019-08-29T12:48:04.853 に答える