sql >> Databasteknik >  >> RDS >> PostgreSQL

Referera till en rad från en annan tabell (PostgreSQL)

Om jag förstår dig rätt bör du läsa om de grundläggande begreppen för relationsdatabaser (dvs http://www3.ntu.edu.sg/home/ehchua/programming/sql/relational_database_design.html ). Dina tabeller ska se ut så här:

CREATE TABLE post(
    post_id INT,
    user_id INT
);

CREATE TABLE user (
    user_id INT
);

Detta är i grunden en en-till-många-relation mellan användare och inlägg, vilket innebär att en användare kan ha många inlägg. Om du vill ha alla inlägg från en användare (i det här fallet användaren med id 1), kan du få dem så här:

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

Som jag kan se i din fråga kanske du vill mappa resultatet till en objektorienterad modell. Detta beror mycket på vilken teknik/språk du använder. Majoriteten av teknikerna erbjuder bibliotek för att ansluta till databassystem som PostgreSQL, öppna och stänga anslutningar starta frågor och få tillbaka resultaten. I det här fallet måste du kartlägga resultaten själv. Men det finns också avancerade kartläggare som hibernate som försöker göra det här arbetet åt dig. Men för att använda dem bör du ha god kunskap om teknikerna "under huven".




  1. Vad är SQL och hur kommer man igång med det?

  2. Lagrad procedur för att hämta serverlagringsinformation i servern

  3. Ersätta MySQL:s variabler i PostgreSQL?

  4. MySQL:SyntaxError:Oväntad identifierare