Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

सभी पोस्ट प्राप्त करें जिनमें एक विशिष्ट टैग है और अन्य सभी टैग को SQL के साथ परिणामों पर रखें

मुझे लगता है कि आप डेटाबेस को दो अनुरोध भेजकर खुश हैं।

सबसे पहले, दिए गए टैग के लिए सभी पोस्ट प्राप्त करें:

SELECT * FROM blog_posts bp 
WHERE EXISTS (SELECT * FROM blog_tags bt INNER JOIN
               tags t ON t.id = bt.tag_id
              WHERE bp.id = bt.post_id
               AND t.tag = @SearchTag)

दूसरा, आप टैग करना चाहते हैं, मुझे लगता है, जिसे आप पोस्ट के माध्यम से ढूंढ रहे हैं उससे जुड़ा हुआ है:

SELECT * FROM tags t
WHERE EXISTS ( -- Here we link two tags via blog_tags
               SELECT * FROM blog_tags bt1 INNER JOIN
               blog_tags bt2 ON bt1.post_id = bt2.post_id
                     AND bt1.tag_id != bt2.tag_id INNER JOIN
               tags t ON t.id = bt1.tag_id
               WHERE t.tag = @SearchTag
                  AND t.id = bt2.tag_id
)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. यूआरएल में सही डेटाबेस ऑब्जेक्ट आईडी छुपा रहा है

  2. मैसकल ऑप्टिमाइज़ेशन टूल

  3. MySQL सीमा, समूह और औसत क्वेरी

  4. घातक त्रुटि:अपरिभाषित फ़ंक्शन पर कॉल करें:MDB2_Driver_MYSQL ::getAll ()

  5. MySQL XDevAPI एक सफल स्थिति कैसे लौटाएं