1

私のテーブルには、レコードがアクティブかアクティブでないかを決定する 2 つの異なる列があるという難しい問題に直面しています。(もちろん、同じDBで何度も何度も変更が行われたため、2つの異なる列があります。もちろん、私によるものではありません。)

フィールドはbitデータベースのタイプです。テーブルからレコードを取得するクエリを提案できる人はいますか?

元。select * from product (isActive = 0 または isCancelled =1)

4

3 に答える 3

1

このクエリを書くための良い方法はここにあると思います

select * from product where isActive = 1 and isCancelled = 0 -- Active records
select * from product where not (isActive = 1 and isCancelled = 0) -- Inactive records
于 2012-11-09T13:12:58.360 に答える
1

非活性:

select * from product where isActive = 0 or isCancelled =1

アクティブ

select * from product where isActive = 1 and isCancelled =0
于 2012-11-09T12:59:12.913 に答える
0

計算値を選択します。

select *, (isActive = 1 and isCancelled = 0) as active
from product

または、この醜さを隠すビューを作成することをお勧めします。

create view complete_product as
select *, (isActive = 1 and isCancelled = 0) as active
from product
于 2012-11-09T13:21:06.740 に答える