Re: select items based on 2 columns - Mailing list pgsql-sql

From Pierre Chevalier
Subject Re: select items based on 2 columns
Date
Msg-id d74da674-0902-026e-8a63-a2b24086c9af@free.fr
Whole thread Raw
In response to select items based on 2 columns  (Shaozhong SHI <shishaozhong@gmail.com>)
List pgsql-sql
Hello,

Short answer:
SELECT id FROM tbl WHERE in and out;


BUT this will never work as is.


Longer answer:
First of all, it would be better not to name fields with word having a meaning in SQL: "in" is not accepted as a valid field name.
From now on, to get rid of this problem, I renamed the in and out fields by appending an "x" at the end: "in" becomes "inx" and "out" becomes "outx".

Here is the complete answer; I added some data matching your criteria:

-- Create the table:
CREATE TEMPORARY TABLE tbl (id integer, id_b integer, inx boolean, outx boolean);

-- Put some data into it:
INSERT INTO tbl (id, id_b, inx, outx) VALUES
(51, 57, false, false),
(51, 42,  true, false),
(51, 32, false, false),
(51, 76, false, true),
(51, 49,  true, false),
(51, 47,  true, true);

-- Select id where inx is true and outx is true:
SELECT id FROM tbl WHERE inx and outx;

-- Output:
┌────┐
│ id │
├────┤
│ 51 │
└────┘
À+
Pierre

Le 08/08/2022 à 10:24, Shaozhong SHI a écrit :
The following is the type of data:

id  id_b   in    out
51 57     false false
51 42     true   false
51   32   false  false
51   76   false  true
51  49     true   false


How to do the following:

select id from tbl   if in is true and out is true are found?

Regards,

David


-- 
Pierre Chevalier

pgsql-sql by date:

Previous
From: Frank Streitzig
Date:
Subject: Re: select items based on 2 columns
Next
From: Tom Lane
Date:
Subject: Re: Possible bug (or at least unexpected behavior)