1

やった

count(*)> 1を持つyによって、xxx​​グループからテーブルtmp select min(xxx_id)を作成します。

ここで、このtmpテーブルを別のテーブルと結合する必要がありますが、tmpテーブルの横にある唯一の列を参照するにはどうすればよいですか?

select * from table2 s、tmp t where s.xxx_id = t.xxx_id?

明らかに機能しません。t.xxx_idを何に置き換える必要がありますか?

4

2 に答える 2

0

その列を次のように引用符で囲む必要があります。

select * from table2 s, tmp t where s.xxx_id = t.`min(xxx_id)`;

ただし、混乱を招くことはないため、列にエイリアスを指定することをお勧めします。

create table tmp select min(xxx_id) AS min_xxx_id from xxx group by y having count(*)>1;
于 2012-08-07T11:07:43.147 に答える
0

これを試して:

select * 
from table2 s join tmp t  
on s.xxx_id=t.xxx_id
于 2012-08-07T11:11:20.880 に答える