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

उपयोगकर्ता ने पोस्ट को पसंद किया है या नहीं यह निर्धारित करने के लिए कई-से-अनेक संबंध

डेटा (मुझे इसे थोड़ा बदलना पड़ा, क्योंकि किसी को धारावाहिकों को असाइन नहीं करना चाहिए):

 CREATE TABLE posts (
  id serial,
  title varchar
);

CREATE TABLE users (
  id serial,
  name varchar
);

CREATE TABLE likes (
  id serial,
  user_id int,
  post_id int
);

INSERT INTO posts (title) VALUES ('First Post');
INSERT INTO posts (title) VALUES ('Second Post');
INSERT INTO posts (title) VALUES ('Third Post');

INSERT INTO users (name) VALUES ('Obama');
INSERT INTO users (name) VALUES ('Trump');

INSERT INTO likes (user_id, post_id) VALUES (1, 1);
INSERT INTO likes (user_id, post_id) VALUES (2, 1);
INSERT INTO likes (user_id, post_id) VALUES (2, 2);
-- I want to retrieve a list of ALL of the posts and whether or not a specific user has liked that post
SELECT id, title
        , EXISTS(
                --EXISTS() yields a boolean value
                SELECT *
                FROM likes lk
                JOIN users u ON u.id = lk.user_id AND lk.post_id=p.id
                WHERE u.name ='Obama'
                ) AS liked_by_Obama
FROM posts p
        ;

परिणाम:

 id |    title    | liked_by_obama 
----+-------------+----------------
  1 | First Post  | t
  2 | Second Post | f
  3 | Third Post  | f
(3 rows)


  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 और TimescaleDB के लिए SELinux को कैसे कॉन्फ़िगर करें

  2. रेक स्पेक अधिकांश परीक्षणों में विफल रहा, लेकिन डायस्पोरा स्रोत पर रेल ठीक काम कर रही है

  3. PostgreSQL दिनांक और समय कार्य

  4. PL/pgSQL में रिकॉर्ड की टपल संरचना की घोषणा

  5. त्रुटि को कैसे ठीक करें त्रुटि:डेटाबेस अप्रारंभीकृत है और सुपरयुसर पासवर्ड निर्दिष्ट नहीं है।