Mysql合併某乙個字段,解決商品屬性查詢問題

2021-08-08 04:35:32 字數 757 閱讀 3233

今天接到乙個需求,需要匯出商品到excel,首先就是需要查詢已經已上架的商品,這個跟提供給前端的查詢介面還不太一樣,因為是給管理人員使用的,所以商品資訊比較全面,6表聯查,這不是關鍵,關鍵是遇到乙個問題,請讓我細細道來。

其中第乙個問題,請看下邊兩張我簡化後的表

我需要將這兩張表關聯起來,只要sku在skuids中存在就可以關聯,問了幾個人,都跟我說是通過「,」拆分什麼的,感覺好麻煩,後來看見一篇帖子,忽然發現這個好簡單,十分感謝那位熱心博主,下邊貼出sql

select

p.*, s.`value`

from

product p,

spec s

where

find_in_set(p.sku, s.skuids)

order by

p.sku

用了乙個函式 find_in_set(str,strlist),其中str也可以寫成入參,也可以直接用整個字段,strlist就是你需要滿足的條件,只要你傳進來的值在strlist中有,就滿足條件,很是方便,查詢完自後是這樣的結果

select

p.*, group_concat(s.`value`) `value`

from

product p,

spec s

where

find_in_set(p.sku, s.skuids)

group by 

p.sku

order by 

p.sku

完美解決!

Mysql設定某乙個欄位為當前時間

將字段的型別設定為 timestamp,然後設定預設值為 current timestamp 新增 欄位名 設定預設時間 current timestamp alter table 表名 addcolumn 欄位名 datetime null default current timestamp co...

MySQL批量去掉某乙個字段特定的值

mysql批量去掉某乙個字段特定的值 比如,在表test中,欄位notice中,每一行記錄不知道為什麼都加了,訊息 現在要去除 訊息 字元。因為前面的字元一樣,所以可以批量把前兩個字母去掉就可以了。update test set notice replace notice,訊息 where noti...

DataTable中根據某乙個欄位來改變本行格式

效果如圖 根據紅色 字型這一列的資料,是到期日期,如果在乙個月內到期的話,那麼該行將會變成黃色顯示,並且到期日期將會變成紅色。關於columns 和 columndefs的區別,請看這篇 如下 aocolumndefs return data else return data 另外 createdc...