sql >> Database teknologi >  >> RDS >> PostgreSQL

Henvisning til en række fra en anden tabel (PostgreSQL)

Hvis jeg forstår dig rigtigt, bør du læse om de grundlæggende begreber i relationelle databaser (dvs. http://www3.ntu.edu.sg/home/ehchua/programming/sql/relational_database_design.html ). Dine tabeller skal se sådan ud:

CREATE TABLE post(
    post_id INT,
    user_id INT
);

CREATE TABLE user (
    user_id INT
);

Dette er grundlæggende et en-til-mange forhold mellem bruger og indlæg, hvilket betyder, at én bruger kan have mange indlæg. Hvis du vil have alle indlæg fra en bruger (i dette tilfælde brugeren med id 1), kan du få dem sådan her:

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

Som jeg kan se i dit spørgsmål, vil du måske kortlægge resultatet til en objektorienteret model. Dette afhænger meget af den teknologi/sprog du bruger. De fleste teknologier tilbyder biblioteker til at oprette forbindelse til databasesystemer som PostgreSQL, åbne og lukke forbindelser starte forespørgsler og få resultaterne tilbage. I dette tilfælde skal du selv kortlægge resultaterne. Men der er også avancerede kortlæggere som dvale, der forsøger at gøre dette arbejde for dig. Men for at bruge dem skal du have et godt kendskab til teknologierne "under motorhjelmen".




  1. Sådan sender du parameter til mssql-forespørgsel i node js

  2. Importfejl under kørsel af cgi-bin på localhost - udefineret symbol:lo_truncate64

  3. Sådan kalder du MySQL Stored Procedure i Python

  4. PersistenceException:FEJL ved udførelse af DML bindLog[] fejl[Felt 'id' har ikke en standardværdi]