SOQL: Populate a Literal List in WHERE IN ClauseSplit a single field into 2 columns for a VF pageSOQL query...
If I can solve Sudoku can I solve Travelling Salesman Problem(TSP)? If yes, how?
How can I track script which gives me "command not found" right after the login?
How to simplify this time periods definition interface?
Charles Hockett - 'F' article?
How to use deus ex machina safely?
Why did it take so long to abandon sail after steamships were demonstrated?
What should tie a collection of short-stories together?
Use of undefined constant bloginfo
Does Mathematica reuse previous computations?
How to write cleanly even if my character uses expletive language?
May I change the held type in a std::variant from within a call to std::visit
Python if-else code style for reduced code
Logical notation
Welcoming 2019 Pi day: How to draw the letter π?
My adviser wants to be the first author
Look at your watch and tell me what time is it. vs Look at your watch and tell me what time it is
If curse and magic is two sides of the same coin, why the former is forbidden?
Why is the BSI not using powers of two?
Site Collection Administrator has left the building
Existence of subset with given Hausdorff dimension
Most cost effective thermostat setting: consistent temperature vs. lowest temperature possible
How to make healing in an exploration game interesting
PTIJ: Who should I vote for? (21st Knesset Edition)
Why do passenger jet manufacturers design their planes with stall prevention systems?
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
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
add a comment |
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
add a comment |
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
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
soql list where
asked 42 mins ago
ArthleteArthlete
976717
976717
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
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)
];
}
}
Thank you, that's what I was looking for!
– Arthlete
30 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
26 mins ago
add a comment |
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.
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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)
];
}
}
Thank you, that's what I was looking for!
– Arthlete
30 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
26 mins ago
add a comment |
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)
];
}
}
Thank you, that's what I was looking for!
– Arthlete
30 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
26 mins ago
add a comment |
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)
];
}
}
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)
];
}
}
answered 31 mins ago
sfdcfoxsfdcfox
259k12204447
259k12204447
Thank you, that's what I was looking for!
– Arthlete
30 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
26 mins ago
add a comment |
Thank you, that's what I was looking for!
– Arthlete
30 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
26 mins ago
Thank you, that's what I was looking for!
– Arthlete
30 mins ago
Thank you, that's what I was looking for!
– Arthlete
30 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
26 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
26 mins ago
add a comment |
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.
add a comment |
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.
add a comment |
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.
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.
answered 28 mins ago
David ReedDavid Reed
37.3k82255
37.3k82255
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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