私のテーブルには、レコードがアクティブかアクティブでないかを決定する 2 つの異なる列があるという難しい問題に直面しています。(もちろん、同じDBで何度も何度も変更が行われたため、2つの異なる列があります。もちろん、私によるものではありません。)
フィールドはbit
データベースのタイプです。テーブルからレコードを取得するクエリを提案できる人はいますか?
元。select * from product (isActive = 0 または isCancelled =1)
私のテーブルには、レコードがアクティブかアクティブでないかを決定する 2 つの異なる列があるという難しい問題に直面しています。(もちろん、同じDBで何度も何度も変更が行われたため、2つの異なる列があります。もちろん、私によるものではありません。)
フィールドはbit
データベースのタイプです。テーブルからレコードを取得するクエリを提案できる人はいますか?
元。select * from product (isActive = 0 または isCancelled =1)
このクエリを書くための良い方法はここにあると思います
select * from product where isActive = 1 and isCancelled = 0 -- Active records
select * from product where not (isActive = 1 and isCancelled = 0) -- Inactive records
非活性:
select * from product where isActive = 0 or isCancelled =1
アクティブ
select * from product where isActive = 1 and isCancelled =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