आप इस समाधान का उपयोग कर सकते हैं:
SELECT b.filename
FROM posts a
INNER JOIN images b ON FIND_IN_SET(b.imageid, a.gallery) > 0
WHERE a.postid = 3
हालांकि, आपको वास्तव में अपने डिजाइन को सामान्य बनाना चाहिए और पोस्ट और छवियों के बीच एक क्रॉस-रेफरेंस टेबल का उपयोग करना चाहिए। यह एन:एम (कई-से-कई) संबंधों का प्रतिनिधित्व करने का सबसे अच्छा और सबसे कुशल तरीका होगा। यह न केवल पुनर्प्राप्ति के लिए अधिक कुशल है, बल्कि यह अपडेट करना को बहुत आसान बना देगा और हटाना छवि संघ।
भले ही आपने क्रॉस-रेफरेंस टेबल के साथ N:M संबंध को ठीक से दर्शाया हो, फिर भी आप imageid
प्राप्त कर सकते हैं CSV प्रारूप में है:
मान लीजिए आपके पास एक posts_has_images
. है प्राथमिक कुंजी फ़ील्ड वाली तालिका (postid
, imageid
):
आप GROUP_CONCAT()
. का उपयोग कर सकते हैं imageid
. का CSV प्राप्त करने के लिए प्रत्येक postid
. के लिए है :
SELECT postid, GROUP_CONCAT(imageid) AS gallery
FROM posts_has_images
GROUP BY postid