MySQL 實(shí)現(xiàn)從多個(gè)規(guī)則表中獲取結(jié)果
網(wǎng)友提問:
網(wǎng)友問題1:使用PowerQuery解答的
https://www.bilibili.com/read/cv27804697
網(wǎng)友問題2:因?yàn)樗俣葐栴},合作Access解答的
https://www.bilibili.com/read/cv27809022
網(wǎng)友問題3:因?yàn)锳ccess里沒有GROUP_CONCAT函數(shù),可以手工寫一個(gè)函數(shù),但是相對(duì)麻煩,另外從網(wǎng)友留言中,也能看出,網(wǎng)友是懂MySQL的
https://www.bilibili.com/read/cv26516840
今天我們就用MySQL解決網(wǎng)友遇到的問題



放大圖片

網(wǎng)友要求是先看數(shù)據(jù)列哪些是規(guī)則1中開頭的,返回對(duì)應(yīng)的值,否則返回 “OTHER”
當(dāng)添加列1返回的是“OTHER”時(shí),再看哪些是規(guī)則表2中包含的,返回對(duì)應(yīng)值,如果沒有就返回“OTHER”。如果添加列1不是“OTHER”的,就返回添加列1本身的值。
回答網(wǎng)友問題:



一、先測(cè)試一下,如果規(guī)則1只看開頭
返回

二、再測(cè)試一下,如果規(guī)則1看包含
返回

三、實(shí)現(xiàn)網(wǎng)友需求:把測(cè)試1只看開頭的代碼做子查詢,放到測(cè)試2看包含的代碼的里面(表名和字段名做相應(yīng)修改即可)
PS: Mysql? 5.7版本? Group by 后面 只寫? 查詢1.數(shù)據(jù) 就可以運(yùn)行,但是8.0及以后的版本不行,需要寫全。
返回:


MySQL:https://www.bilibili.com/video/BV1Dk4y1d71j