的輸入。如果我是提供MySQL中的逗號分隔字符串,像(「美國,英國,CA」)(它通過一個PHP腳本來自於一種形式),我怎麼能讓MySQL通過字符串循環,並做了每個國家代碼的計數在那裏和更新不同的表,其中該表中的國家代碼等於字符串中的國家代碼。MySql的更新與數基礎上逗號分隔值
例子:
表-A
"id" "countries"
"1" "US,CA"
"2" "US,CA"
"3" "US,AU"
"4" "US,UK"
"5" "US"
表-B
"id" "country" "total"
"1" "US" "0"
"2" "CA" "0"
"3" "UK" "0"
"4" "AU" "0"
我該怎麼辦:
例如:如果我增刊IED( '美國,英國,CA')
update table_b set country = (
select count(id) from table_a where country = (// each country in that string ('US,UK,CA'))
) where country = (country currently selected from the string above)
能像這樣做呢?如果只有一個國家,它就行。如果有更多,我該怎麼做?
最後,我希望能最後得到類似的結果:
table_b
"id" "country" "total"
"1" "US" "5" // There are 5 in table_a
"2" "CA" "2" // There are 2 in table_a
"3" "UK" "1" // Only 1 in table_a
"4" "AU" "1" // Only 1 in table_a
你想更新總表B? –
@echo_Me是'table_b'如在我討論的最後一個例子。 – jmenezes
正常化不是一種選擇? – Strawberry