0

このような表では:

id_fk   | valid | val
----------------------
1       | 0     | val1A
1       | 1     | val1B
2       | 0     | val2A
3       | 1     | val3A
3       | 0     | val3B

valid=1 のものを選択するにはどうすればよいですか? id_fk に対して有効なものが存在しない場合は、valid=0 のものを選択しますか?

基本的にはこの表から

id_fk   | valid | val
----------------------
1       | 0     | val1A
1       | 1     | val1B
2       | 0     | val2A
3       | 1     | val3A
3       | 0     | val3B

これらを選択したい (行ごとに異なる id_fk):

id_fk   | valid | val
----------------------
1       | 1     | val1B
2       | 0     | val2A
3       | 1     | val3A
4

2 に答える 2

1

有効な列が 1 と 0 のみであると仮定すると、次のようになります。

select * from (SELECT *
FROM Table1 a order by id_fk asc , valid desc) abc
group by id_fk;

フィドル

于 2013-07-30T10:31:34.823 に答える