[英]Fetch rows from a table if their ids are in a serialized value in another table
[英]getting rows from table based on related csv ids on another table
我一直在運行mysql查詢以獲取基於FIND_IN_SET($ bannerpageid,bf_relatedid)的所有行
$ bannerpageid是在每個頁面頂部聲明的php變量。
banner_frames
bf_ID bf_relatedID bf_content
1 1,2,3,4 content
2 2,4,6,8,10 content
3 1,3,5,7,9 content
...
因此$ bannerpageid = 3,它將從banner_frames表返回第1行和第3行
它可以工作,但感覺有點倒退,我認為如果在單獨的表格標題頁表中聲明相關的bf_ID會更好。 從長遠來看,這將使相關ID的管理更加容易。
banner_page
bp_ID bp_relatedID
1 1,2,3,4
2 2,4,6,8,10
3 1,3,5,7,9
...
banner_frames
bf_ID bf_content
1 content
2 content
3 content
...
這次$ bannerpageid與banner_page表中的bp_ID有關,因此,如果$ bannerpageid = 3,它將從banner_frames表返回第1行和第3行
我試圖編寫mysql查詢以基於內部聯接在集中查找,但是我無法使其正確執行查詢。 所以我有點困惑。
如果有人有任何建議,我將不勝感激
謝謝
您基於FIND_IN_SET的原始MySQL代碼是什么?
嘗試:
SELECT banner_frames.bf_content FROM banner_frames JOIN banner_page ON (banner_page.bp_ID = banner_frames.bf_ID) WHERE FIND_IN_SET($bannerpageid, banner_page.bp_relatedID)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.