sql >> Database >  >> RDS >> PostgreSQL

Verwijzen naar een rij uit een andere tabel (PostgreSQL)

Als ik je goed begrijp, zou je de basisconcepten van relationele databases moeten lezen (d.w.z. http://www3.ntu.edu.sg/home/ehchua/programming/sql/relational_database_design.html ). Uw tabellen zouden er als volgt uit moeten zien:

CREATE TABLE post(
    post_id INT,
    user_id INT
);

CREATE TABLE user (
    user_id INT
);

Dit is in feite een een-op-veel-relatie tussen gebruiker en bericht, wat betekent dat één gebruiker veel berichten kan hebben. Als je alle berichten van een gebruiker wilt (in dit geval de gebruiker met id 1), kun je ze als volgt krijgen:

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

Zoals ik in uw vraag kan zien, wilt u misschien het resultaat toewijzen aan een objectgeoriënteerd model. Dit hangt sterk af van de technologie/taal die je gebruikt. De meeste technologieën bieden bibliotheken om verbinding te maken met databasesystemen zoals PostgreSQL, open en gesloten verbindingen starten query's en krijgen de resultaten terug. In dit geval moet u de resultaten zelf in kaart brengen. Maar er zijn ook geavanceerde mappers zoals hibernate die dit werk voor je proberen te doen. Maar om ze te gebruiken, moet je een goede kennis hebben van de technologieën "onder de motorkap".




  1. Hoe minuutintervallen tussen twee datums in T-SQL genereren?

  2. Wat is het datatype bytea en wanneer zou ik het gebruiken?

  3. Hoe XML-bestand importeren in Oracle SQL Developer?

  4. LISTAGG() Functie in Oracle