在MySql中,如何使用WHERE IN子句中的字符串函數結果?如何在WHERE IN子句中使用字符串函數結果
例如: -
select * from product p left join catalog c on c.catalogid in ((TRIM(BOTH ',' FROM (REPLACE(p.catalog_ids,',,',',')))));
這裏p.catalogs_ids = '36,37,38,';在
select * from product p left join catalog c on c.catalogid in ('36,37,38');
任何幫助
但上面的查詢結果將不勝感激。
寫選擇,其中包括的功能 – developerCoder
你可以在裏面,其中部分聲明'不要直接使用字符串作爲'IN(...)'的值。在這種情況下,您可以使用FIND_IN_SET,但它可能不會使用連接的索引。 – Vatev
不是對這個問題的答案,而是通過在目錄ID和產品之間創建連接表來正常化數據庫模式,這將是適當的解決方案。 – Jon