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

MYSQL क्वेरी - वर्तमान उपयोगकर्ता की पोस्ट प्राप्त करें और उपयोगकर्ता की वह पोस्ट का अनुसरण कर रहा है

सभी पोस्ट किसी दिए गए उपयोगकर्ता (आईडी =145) और पोस्ट का अनुसरण करने वाले सभी उपयोगकर्ताओं को प्राप्त करने के लिए, प्रत्येक पोस्ट के लिए उपयोगकर्ता विवरण के साथ, मैं union का उपयोग करने के लिए क्वेरी को फिर से लिखूंगा या के बजाय, इस प्रकार तर्क को सरल बनाना। पहले चयन को दिए गए उपयोगकर्ता के पद मिलते हैं, दूसरे को उन उपयोगकर्ताओं के पद मिलते हैं जिनका वह अनुसरण कर रहा है:

(SELECT P.id as postid, 
       P.caption,
       P.date,
       U.id as userid,
       U.fullname,
       U.username,
FROM USERS AS U
INNER JOIN Posts AS P ON P.userid = U.id
WHERE U.id = 145)
UNION
(SELECT P.id, 
       P.caption,
       P.date,
       U.id,
       U.fullname,
       U.username,
FROM Activity AS A
INNER JOIN USERS AS U ON A.IdOtherUser=U.id
INNER JOIN Posts AS P ON P.userid = U.id
WHERE A.id = 145)
ORDER BY postid DESC

धारणाएं:

  1. गतिविधि.आईडी फ़ील्ड उस उपयोगकर्ता का प्रतिनिधित्व करती है, जो दूसरे उपयोगकर्ता का अनुसरण करता है। यदि नहीं, तो आपको फ़ील्ड नाम को उपयुक्त नाम में बदलना होगा।

  2. पोस्ट पोस्ट करने वाले उपयोगकर्ता का प्रतिनिधित्व करने वाली पोस्ट तालिका के उपयोगकर्ता आईडी फ़ील्ड का आविष्कार किया। कृपया इसके स्थान पर सही फ़ील्ड नाम का उपयोग करें।




  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. मैं MySQL में किसी तालिका की अनूठी बाधाओं को कैसे दिखाऊं?

  3. MySQL संग्रहीत कार्यविधि बनाम फ़ंक्शन, जिसका उपयोग मैं कब करूंगा?

  4. MYSQL ने गलत INTEGER मान त्रुटि काट दी

  5. टिप्पणियों और टिप्पणियों के उत्तरों के लिए mysql संरचना