在表class_group中,list_students_id列包含文本,其中包含逗號分隔的用戶在當前組組中的用戶ID。 例如:組ID:1 - 組名稱:組1 - list_students_id:2,43,45,50 ... 我知道這不是最佳的,但我無法更改數據庫結構。 我要查詢的組名,如果學生是該組中和我寫了下面的代碼,我覺得這是不是最佳的如何以另一種方式編寫此查詢
SELECT user.firstname,user.lastname,user.username,user.alt_id,user.email,class_group.group_name
FROM user LEFT JOIN class_group
ON (class_group.list_students_id LIKE CONCAT(user.id,',%') OR class_group.list_students_id LIKE CONCAT('%,',user.id,',%'))
任何其他方式做到這一點?
感謝的人使用,這爲我節省了大約60毫秒。是的,我同意我在這家公司堅持使用這個數據庫模式,因爲他們說它是針對特定功能進行了優化的,他們不知道我們會在別處使用它,現在更改數據庫將需要重構很多代碼,所以它有點傷心。 –