0
我有一個包含數字(> 10)列的表。現在我需要更新一個列(rc),根據不同的條件(總共4個)更新其他列的內容。我使用的情況下做到這一點,但在最後一個情況下,條件是,如果沒有上述3工作,我需要設置如下rc列。mysql用一組列中的數據更新一列,以非零值爲準
我需要檢查五個測試列中的哪一列非零,並將其內容設置在rc列中。
請幫我我如何做到這一點。
下面是我在做什麼
UPDATE <table_name>
SET CASE
WHEN {condition_1} THEN col_1=true, rc = CONCAT("Reason is", col_2)
WHEN {condition_2} THEN col_1=true, rc = CONCAT("Reason is", col_3)
WHEN {condition_3} THEN col_1=true, rc = CONCAT("Reason is", col_4)
WHEN {I'm stopped here} THEN col_1=true, rc = CONCAT(" Reason is", {whichever column is non- zero})
END
請幫我最後一個條件應該是什麼聲明。記住,我通過傳遞來自C++程序的查詢來完成所有這些工作。
我在這裏聞到DB設計缺陷。 –
您能否介紹一下 – user3291628
讓我改述一下:這樣的醜陋查詢表明您的模式並非嚴格設計。因爲我不知道你在做什麼,我不可能提供進一步的建議。 –