You can also quote column names that are SQL keywords, so "in"
and "out" would also work, but I also agree that it's not great
practice. However, IMHO, IN and OUT doesn't tell you a lot. In
and out of what? Inbound/outbound? In_water / out_of_water? You
get the idea. Using clear column names helps prevent misuse
(intentional or not).
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 out51 57 false false51 42 true false51 32 false false51 76 false true51 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