public inbox for [email protected]  
help / color / mirror / Atom feed
From: Carl Sopchak <[email protected]>
To: [email protected]
Subject: Re: select items based on 2 columns
Date: Mon, 8 Aug 2022 12:30:50 -0400
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <CA+i5JwYCPBDcenq_godJqtjApLyOeJHxo-Joova3wrAYtM6QOA@mail.gmail.com>
	<[email protected]>

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>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).<br>
    </p>
    <div class="moz-cite-prefix">On 8/8/22 12:17, Pierre Chevalier
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:[email protected]">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <div class="moz-cite-prefix">
        <pre>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.
&gt;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 │
└────┘</pre>
      </div>
      <div class="moz-cite-prefix"> </div>
      <div class="moz-cite-prefix">
        <pre>À+
Pierre
</pre>
      </div>
      <div class="moz-cite-prefix"><br>
      </div>
      <div class="moz-cite-prefix">Le 08/08/2022 à 10:24, Shaozhong SHI
        a écrit :<br>
      </div>
      <blockquote type="cite"
cite="mid:CA+i5JwYCPBDcenq_godJqtjApLyOeJHxo-Joova3wrAYtM6QOA@mail.gmail.com">
        <meta http-equiv="content-type" content="text/html;
          charset=UTF-8">
        <div dir="ltr">The following is the type of data:
          <div><br>
          </div>
          <div>id  id_b   in    out</div>
          <div>51 57     false false</div>
          <div>51 42     true   false</div>
          <div>51   32   false  false</div>
          <div>51   76   false  true</div>
          <div>51  49     true   false</div>
          <div><br>
          </div>
          <div><br>
          </div>
          <div>How to do the following:</div>
          <div><br>
          </div>
          <div>select id from tbl   if in is true and out is true are
            found?</div>
          <div><br>
          </div>
          <div>Regards,</div>
          <div><br>
          </div>
          <div>David</div>
        </div>
      </blockquote>
      <p><br>
      </p>
      <pre class="moz-signature" cols="72">-- 
Pierre Chevalier
</pre>
    </blockquote>
  </body>
</html>






view thread (4+ messages)

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected]
  Subject: Re: select items based on 2 columns
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox