SOQL: Populate a Literal List in WHERE IN ClauseSplit a single field into 2 columns for a VF pageSOQL query problem, need assistanceSOQL query with Dataloader using List Literal in WHERE ClauseNot able to escape quote in visualforce page?Where do I find this related list API name to access in query?System.QueryException: unexpected token: :SOQL - Use the size of the list of inner child query in the WHERE clauseCheck field's data availability in WHERE clauseDatetime in WHERE clauseSOQL WHERE IN query

Professor being mistaken for a grad student

Is a party consisting of only a bard, a cleric, and a warlock functional long-term?

Happy pi day, everyone!

Brexit - No Deal Rejection

Science-fiction short story where space navy wanted hospital ships and settlers had guns mounted everywhere

What's causing this power spike in STM32 low power mode

Use void Apex method in Lightning Web Component

how to write formula in word in latex

How to use deus ex machina safely?

A link redirect to http instead of https: how critical is it?

What is the rarity of this homebrew magic staff?

Can I use USB data pins as power source

Co-worker team leader wants to inject his friend's awful software into our development. What should I say to our common boss?

Does Mathematica reuse previous computations?

Could the Saturn V actually have launched astronauts around Venus?

How can you use ICE tables to solve multiple coupled equilibria?

Declaring defaulted assignment operator as constexpr: which compiler is right?

how to draw discrete time diagram in tikz

Min function accepting varying number of arguments in C++17

Define, (actually define) the "stability" and "energy" of a compound

How to explain that I do not want to visit a country due to personal safety concern?

Do I need life insurance if I can cover my own funeral costs?

Existence of subset with given Hausdorff dimension

What is this large pipe coming out of my roof?



SOQL: Populate a Literal List in WHERE IN Clause


Split a single field into 2 columns for a VF pageSOQL query problem, need assistanceSOQL query with Dataloader using List Literal in WHERE ClauseNot able to escape quote in visualforce page?Where do I find this related list API name to access in query?System.QueryException: unexpected token: :SOQL - Use the size of the list of inner child query in the WHERE clauseCheck field's data availability in WHERE clauseDatetime in WHERE clauseSOQL WHERE IN query













3















I need to query for an object based on 2 string variables. The first one is a constant but the second one gets passed to the class constructor.



So in the end I want to achieve something like this:



public class MyClass 
private final String STRING_ONE = 'STRING ONE';

public MyClass(String stringTwo)
List<Object__c> objects = [
SELECT Id
FROM Object__c
WHERE Name IN :STRING_ONE, stringTwo
];




This is the part that I can't get the syntax right of WHERE Name IN :STRING_ONE, stringTwo. I know I've seen this somewhere but can't find it on google.










share|improve this question


























    3















    I need to query for an object based on 2 string variables. The first one is a constant but the second one gets passed to the class constructor.



    So in the end I want to achieve something like this:



    public class MyClass 
    private final String STRING_ONE = 'STRING ONE';

    public MyClass(String stringTwo)
    List<Object__c> objects = [
    SELECT Id
    FROM Object__c
    WHERE Name IN :STRING_ONE, stringTwo
    ];




    This is the part that I can't get the syntax right of WHERE Name IN :STRING_ONE, stringTwo. I know I've seen this somewhere but can't find it on google.










    share|improve this question
























      3












      3








      3








      I need to query for an object based on 2 string variables. The first one is a constant but the second one gets passed to the class constructor.



      So in the end I want to achieve something like this:



      public class MyClass 
      private final String STRING_ONE = 'STRING ONE';

      public MyClass(String stringTwo)
      List<Object__c> objects = [
      SELECT Id
      FROM Object__c
      WHERE Name IN :STRING_ONE, stringTwo
      ];




      This is the part that I can't get the syntax right of WHERE Name IN :STRING_ONE, stringTwo. I know I've seen this somewhere but can't find it on google.










      share|improve this question














      I need to query for an object based on 2 string variables. The first one is a constant but the second one gets passed to the class constructor.



      So in the end I want to achieve something like this:



      public class MyClass 
      private final String STRING_ONE = 'STRING ONE';

      public MyClass(String stringTwo)
      List<Object__c> objects = [
      SELECT Id
      FROM Object__c
      WHERE Name IN :STRING_ONE, stringTwo
      ];




      This is the part that I can't get the syntax right of WHERE Name IN :STRING_ONE, stringTwo. I know I've seen this somewhere but can't find it on google.







      soql list where






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 1 hour ago









      ArthleteArthlete

      976717




      976717




















          2 Answers
          2






          active

          oldest

          votes


















          2














          It's like normal SOQL, but you put the colons before each item in the list:



          public class MyClass 
          private final String STRING_ONE = 'STRING ONE';

          public MyClass(String stringTwo)
          List<Object__c> objects = [
          SELECT Id
          FROM Object__c
          WHERE Name IN (:STRING_ONE, :stringTwo)
          ];







          share|improve this answer























          • Thank you, that's what I was looking for!

            – Arthlete
            49 mins ago






          • 1





            @Arthlete You're welcome! I know it's pretty unusual syntax, so glad you asked so people could find the answer to this.

            – sfdcfox
            44 mins ago


















          4














          You can supply string variable values using Apex binding. When you're not using Dynamic SOQL, as you're not here, you can even use complex Apex expressions in the bind. The following options are all legit.



          ... WHERE Name IN (:STRING_ONE, :stringTwo)

          ... WHERE Name IN :new List<String>STRING_ONE, stringTwo

          ... WHERE Name = :STRING_ONE OR Name = :stringTwo

          List<String> names = new List<String>STRING_ONE, stringTwo;
          [SELECT ... FROM Account WHERE Name IN :names]


          Dynamic SOQL doesn't allow complex bind expressions, so creating new Lists and similar are verboten in that context.






          share|improve this answer






















            Your Answer








            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "459"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f254106%2fsoql-populate-a-literal-list-in-where-in-clause%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            2














            It's like normal SOQL, but you put the colons before each item in the list:



            public class MyClass 
            private final String STRING_ONE = 'STRING ONE';

            public MyClass(String stringTwo)
            List<Object__c> objects = [
            SELECT Id
            FROM Object__c
            WHERE Name IN (:STRING_ONE, :stringTwo)
            ];







            share|improve this answer























            • Thank you, that's what I was looking for!

              – Arthlete
              49 mins ago






            • 1





              @Arthlete You're welcome! I know it's pretty unusual syntax, so glad you asked so people could find the answer to this.

              – sfdcfox
              44 mins ago















            2














            It's like normal SOQL, but you put the colons before each item in the list:



            public class MyClass 
            private final String STRING_ONE = 'STRING ONE';

            public MyClass(String stringTwo)
            List<Object__c> objects = [
            SELECT Id
            FROM Object__c
            WHERE Name IN (:STRING_ONE, :stringTwo)
            ];







            share|improve this answer























            • Thank you, that's what I was looking for!

              – Arthlete
              49 mins ago






            • 1





              @Arthlete You're welcome! I know it's pretty unusual syntax, so glad you asked so people could find the answer to this.

              – sfdcfox
              44 mins ago













            2












            2








            2







            It's like normal SOQL, but you put the colons before each item in the list:



            public class MyClass 
            private final String STRING_ONE = 'STRING ONE';

            public MyClass(String stringTwo)
            List<Object__c> objects = [
            SELECT Id
            FROM Object__c
            WHERE Name IN (:STRING_ONE, :stringTwo)
            ];







            share|improve this answer













            It's like normal SOQL, but you put the colons before each item in the list:



            public class MyClass 
            private final String STRING_ONE = 'STRING ONE';

            public MyClass(String stringTwo)
            List<Object__c> objects = [
            SELECT Id
            FROM Object__c
            WHERE Name IN (:STRING_ONE, :stringTwo)
            ];








            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered 49 mins ago









            sfdcfoxsfdcfox

            259k12204447




            259k12204447












            • Thank you, that's what I was looking for!

              – Arthlete
              49 mins ago






            • 1





              @Arthlete You're welcome! I know it's pretty unusual syntax, so glad you asked so people could find the answer to this.

              – sfdcfox
              44 mins ago

















            • Thank you, that's what I was looking for!

              – Arthlete
              49 mins ago






            • 1





              @Arthlete You're welcome! I know it's pretty unusual syntax, so glad you asked so people could find the answer to this.

              – sfdcfox
              44 mins ago
















            Thank you, that's what I was looking for!

            – Arthlete
            49 mins ago





            Thank you, that's what I was looking for!

            – Arthlete
            49 mins ago




            1




            1





            @Arthlete You're welcome! I know it's pretty unusual syntax, so glad you asked so people could find the answer to this.

            – sfdcfox
            44 mins ago





            @Arthlete You're welcome! I know it's pretty unusual syntax, so glad you asked so people could find the answer to this.

            – sfdcfox
            44 mins ago













            4














            You can supply string variable values using Apex binding. When you're not using Dynamic SOQL, as you're not here, you can even use complex Apex expressions in the bind. The following options are all legit.



            ... WHERE Name IN (:STRING_ONE, :stringTwo)

            ... WHERE Name IN :new List<String>STRING_ONE, stringTwo

            ... WHERE Name = :STRING_ONE OR Name = :stringTwo

            List<String> names = new List<String>STRING_ONE, stringTwo;
            [SELECT ... FROM Account WHERE Name IN :names]


            Dynamic SOQL doesn't allow complex bind expressions, so creating new Lists and similar are verboten in that context.






            share|improve this answer



























              4














              You can supply string variable values using Apex binding. When you're not using Dynamic SOQL, as you're not here, you can even use complex Apex expressions in the bind. The following options are all legit.



              ... WHERE Name IN (:STRING_ONE, :stringTwo)

              ... WHERE Name IN :new List<String>STRING_ONE, stringTwo

              ... WHERE Name = :STRING_ONE OR Name = :stringTwo

              List<String> names = new List<String>STRING_ONE, stringTwo;
              [SELECT ... FROM Account WHERE Name IN :names]


              Dynamic SOQL doesn't allow complex bind expressions, so creating new Lists and similar are verboten in that context.






              share|improve this answer

























                4












                4








                4







                You can supply string variable values using Apex binding. When you're not using Dynamic SOQL, as you're not here, you can even use complex Apex expressions in the bind. The following options are all legit.



                ... WHERE Name IN (:STRING_ONE, :stringTwo)

                ... WHERE Name IN :new List<String>STRING_ONE, stringTwo

                ... WHERE Name = :STRING_ONE OR Name = :stringTwo

                List<String> names = new List<String>STRING_ONE, stringTwo;
                [SELECT ... FROM Account WHERE Name IN :names]


                Dynamic SOQL doesn't allow complex bind expressions, so creating new Lists and similar are verboten in that context.






                share|improve this answer













                You can supply string variable values using Apex binding. When you're not using Dynamic SOQL, as you're not here, you can even use complex Apex expressions in the bind. The following options are all legit.



                ... WHERE Name IN (:STRING_ONE, :stringTwo)

                ... WHERE Name IN :new List<String>STRING_ONE, stringTwo

                ... WHERE Name = :STRING_ONE OR Name = :stringTwo

                List<String> names = new List<String>STRING_ONE, stringTwo;
                [SELECT ... FROM Account WHERE Name IN :names]


                Dynamic SOQL doesn't allow complex bind expressions, so creating new Lists and similar are verboten in that context.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 46 mins ago









                David ReedDavid Reed

                37.3k82255




                37.3k82255



























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Salesforce Stack Exchange!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f254106%2fsoql-populate-a-literal-list-in-where-in-clause%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Are there any AGPL-style licences that require source code modifications to be public? Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?Force derivative works to be publicAre there any GPL like licenses for Apple App Store?Do you violate the GPL if you provide source code that cannot be compiled?GPL - is it distribution to use libraries in an appliance loaned to customers?Distributing App for free which uses GPL'ed codeModifications of server software under GPL, with web/CLI interfaceDoes using an AGPLv3-licensed library prevent me from dual-licensing my own source code?Can I publish only select code under GPLv3 from a private project?Is there published precedent regarding the scope of covered work that uses AGPL software?If MIT licensed code links to GPL licensed code what should be the license of the resulting binary program?If I use a public API endpoint that has its source code licensed under AGPL in my app, do I need to disclose my source?

                    2013 GY136 Descoberta | Órbita | Referências Menu de navegação«List Of Centaurs and Scattered-Disk Objects»«List of Known Trans-Neptunian Objects»

                    Mortes em março de 2019 Referências Menu de navegação«Zhores Alferov, Nobel de Física bielorrusso, morre aos 88 anos - Ciência»«Fallece Rafael Torija, o bispo emérito de Ciudad Real»«Peter Hurford dies at 88»«Keith Flint, vocalista do The Prodigy, morre aos 49 anos»«Luke Perry, ator de 'Barrados no baile' e 'Riverdale', morre aos 52 anos»«Former Rangers and Scotland captain Eric Caldow dies, aged 84»«Morreu, aos 61 anos, a antiga lenda do wrestling King Kong Bundy»«Fallece el actor y director teatral Abraham Stavans»«In Memoriam Guillaume Faye»«Sidney Sheinberg, a Force Behind Universal and Spielberg, Is Dead at 84»«Carmine Persico, Colombo Crime Family Boss, Is Dead at 85»«Dirigent Michael Gielen gestorben»«Ciclista tricampeã mundial e prata na Rio 2016 é encontrada morta em casa aos 23 anos»«Pagan Community Notes: Raven Grimassi dies, Indianapolis pop-up event cancelled, Circle Sanctuary announces new podcast, and more!»«Hal Blaine, Wrecking Crew Drummer, Dies at 90»«Morre Coutinho, que editou dupla lendária com Pelé no Santos»«Cantor Demétrius, ídolo da Jovem Guarda, morre em SP»«Ex-presidente do Vasco, Eurico Miranda morre no Rio de Janeiro»«Bronze no Mundial de basquete de 1971, Laís Elena morre aos 76 anos»«Diretor de Corridas da F1, Charlie Whiting morre aos 66 anos às vésperas do GP da Austrália»«Morreu o cardeal Danneels, da Bélgica»«Morreu o cartoonista Augusto Cid»«Morreu a atriz Maria Isabel de Lizandra, de "Vale Tudo" e novelas da Tupi»«WS Merwin, prize-winning poet of nature, dies at 91»«Atriz Márcia Real morre em São Paulo aos 88 anos»«Mauritanie: décès de l'ancien président Mohamed Mahmoud ould Louly»«Morreu Dick Dale, o rei da surf guitar e de "Pulp Fiction"»«Falleció Víctor Genes»«João Carlos Marinho, autor de 'O Gênio do Crime', morre em SP»«Legendary Horror Director and SFX Artist John Carl Buechler Dies at 66»«Morre em Salvador a religiosa Makota Valdina»«مرگ بازیکن‌ سابق نساجی بر اثر سقوط سنگ در مازندران»«Domingos Oliveira morre no Rio»«Morre Airton Ravagniani, ex-São Paulo, Fla, Vasco, Grêmio e Sport - Notícias»«Morre o escritor Flavio Moreira da Costa»«Larry Cohen, Writer-Director of 'It's Alive' and 'Hell Up in Harlem,' Dies at 77»«Scott Walker, experimental singer-songwriter, dead at 76»«Joseph Pilato, Day of the Dead Star and Horror Favorite, Dies at 70»«Sheffield United set to pay tribute to legendary goalkeeper Ted Burgin who has died at 91»«Morre Rafael Henzel, sobrevivente de acidente aéreo da Chapecoense»«Morre Valery Bykovsky, um dos primeiros cosmonautas da União Soviética»«Agnès Varda, cineasta da Nouvelle Vague, morre aos 90 anos»«Agnès Varda, cineasta francesa, morre aos 90 anos»«Tania Mallet, James Bond Actress and Helen Mirren's Cousin, Dies at 77»e