私は2つのテーブルusers
とuserdetail
を持っています。次のSQLクエリでselect caseを使用する方法
CREATE VIEW `new` AS
SELECT
users.id AS id,
userdetail.healthissues AS healthissues,
users.fullName AS fullname,
userdetail.`status`,
CASE status
WHEN userdetail.status ='1' THEN userdetail.`status`= 'Blocked'
WHEN userdetail.status= '0' THEN userdetail.`status` ='Active'
END ,
users.phoneNumber AS number
FROM users
JOIN userdetail ON users.id = userdetail.reference
このコードは、望ましい結果が得られていない:私はuserdetail
カラムのステータスが1であれば、それはビューでActive
を示さなければならないし、ステータスが0の場合はブロックされているビューを作成しようとしています。いくつか私にこれを手伝ってもらえますか?
CREATE VIEW `new` AS
SELECT u.id AS id, ud.healthissues AS healthissues, u.fullName,
ud.status as orig_status,
(CASE WHEN ud.status = 1 THEN 'Blocked'
WHEN ud.status = 0 THEN 'Active'
END) as status,
u.phoneNumber AS number
FROM users u JOIN
userdetail ud
ON u.id = ud.reference;
注:
を選択する。..値を割り当てることはできませんか?たとえば、userdetail.status = '1'の場合、返されるものは?userdetail.status 'のような値を変更しようとしていますか?) – jarlh