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

किसी अन्य तालिका से एक पंक्ति का संदर्भ देना (PostgreSQL)

अगर मैं आपको सही ढंग से समझता हूं, तो आपको रिलेशनल डेटाबेस की बुनियादी अवधारणाओं के बारे में पढ़ना चाहिए (यानी http://www3.ntu.edu.sg/home/ehchua/programming/sql/relational_database_design.html ) आपकी टेबल इस तरह दिखनी चाहिए:

CREATE TABLE post(
    post_id INT,
    user_id INT
);

CREATE TABLE user (
    user_id INT
);

यह मूल रूप से उपयोगकर्ता और पोस्ट के बीच एक-से-अनेक संबंध है, जिसका अर्थ है कि एक उपयोगकर्ता के पास कई पोस्ट हो सकते हैं। यदि आप किसी उपयोगकर्ता की सभी पोस्ट चाहते हैं (इस मामले में आईडी 1 वाला उपयोगकर्ता), तो आप उन्हें इस तरह प्राप्त कर सकते हैं:

SELECT * FROM user u
LEFT JOIN post p ON u.user_id = p.user_id
WHERE user_id = 1;

जैसा कि मैं आपके प्रश्न में देख सकता हूं, हो सकता है कि आप परिणाम को ऑब्जेक्ट ओरिएंटेड मॉडल में मैप करना चाहें। यह आपके द्वारा उपयोग की जा रही तकनीक/भाषा पर बहुत कुछ निर्भर करता है। अधिकांश प्रौद्योगिकियां पोस्टग्रेएसक्यूएल जैसे डेटाबेस सिस्टम से जुड़ने के लिए पुस्तकालयों की पेशकश करती हैं, खुले और बंद कनेक्शन लॉन्च क्वेरी और परिणाम वापस प्राप्त करती हैं। इस मामले में आपको परिणामों को स्वयं मैप करना होगा। लेकिन हाइबरनेट जैसे उन्नत मैपर भी हैं जो आपके लिए यह काम करने की कोशिश कर रहे हैं। लेकिन उनका उपयोग करने के लिए, आपको "हुड के नीचे" तकनीकों का अच्छा ज्ञान होना चाहिए।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL विंडो फ़ंक्शंस शून्य मानों पर ध्यान न दें

  2. मिनीक्यूब से Postgresql चलाते समय अनुमति की समस्या को कैसे हल करें?

  3. सिंक से बाहर होने पर पोस्टग्रेज के प्राथमिक कुंजी अनुक्रम को कैसे रीसेट करें?

  4. Homebrew पोस्टग्रेज टूटा हुआ

  5. कॉलम 1 में मानों के जोड़े का चयन करने के लिए SQL क्वेरी जो कॉलम 2 में दो पैटर्न में से किसी एक से मेल खाती है