Is there any use for defining additional entity types in a SOQL FROM clause? The 2019 Stack Overflow Developer Survey Results Are In Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) 2019 Moderator Election Q&A - Questionnaire 2019 Community Moderator Election Resultsquery user and profileSOQL relationship name syntax errorDynamic SOQL bindingWhat is wrong with my relationship?How to query all records changed since date?SOQL for Lookup relationshipLeft join in Bulk APISelect where not exists / count(otherRecord) = 0How can we Get the records of contacts where phone= account.phone?What types of fields are groupable in a SOQL `GROUP BY` clause?SOQL Search function of Contact Name With Account Parent to Contact Child

Multi tool use
Multi tool use

Didn't get enough time to take a Coding Test - what to do now?

Install many applications using one command

First use of “packing” as in carrying a gun

How to delete random line from file using Unix command?

Why not take a picture of a closer black hole?

Change bounding box of math glyphs in LuaTeX

Working through the single responsibility principle (SRP) in Python when calls are expensive

Hopping to infinity along a string of digits

When did F become S in typeography, and why?

Are spiders unable to hurt humans, especially very small spiders?

Finding the path in a graph from A to B then back to A with a minimum of shared edges

Am I ethically obligated to go into work on an off day if the reason is sudden?

Would it be possible to rearrange a dragon's flight muscle to somewhat circumvent the square-cube law?

What can I do if neighbor is blocking my solar panels intentionally?

What's the point in a preamp?

Why can't wing-mounted spoilers be used to steepen approaches?

Segmentation fault output is suppressed when piping stdin into a function. Why?

Would an alien lifeform be able to achieve space travel if lacking in vision?

How to pronounce 1ターン?

Match Roman Numerals

Do warforged have souls?

Keeping a retro style to sci-fi spaceships?

Windows 10: How to Lock (not sleep) laptop on lid close?

How is simplicity better than precision and clarity in prose?



Is there any use for defining additional entity types in a SOQL FROM clause?



The 2019 Stack Overflow Developer Survey Results Are In
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)
2019 Moderator Election Q&A - Questionnaire
2019 Community Moderator Election Resultsquery user and profileSOQL relationship name syntax errorDynamic SOQL bindingWhat is wrong with my relationship?How to query all records changed since date?SOQL for Lookup relationshipLeft join in Bulk APISelect where not exists / count(otherRecord) = 0How can we Get the records of contacts where phone= account.phone?What types of fields are groupable in a SOQL `GROUP BY` clause?SOQL Search function of Contact Name With Account Parent to Contact Child



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








7















Here's a somewhat odd SOQL query from the question query user and profile:



select user.id, user.Email,user.FirstName,user.LastName,user.profile.name,user.Username,user.IsActive 
from user, user.profile


Note that the FROM clause includes both user and user.profile.



Here is a simpler example to follow the Contact to Account relationship:



select Id, Name, Account.Name from Contact, Contact.Account


The same query with the relationship join can be performed with:



Select Id, Name, Account.Name From Contact


Is there any purpose to supporting additional SObject types in the from clause, or is it vestigial?



Is is outlined as supported syntax in SOQL.




SELECT fieldList [subquery][...]

[TYPEOF typeOfField whenExpression[...] elseExpression END][...]

FROM objectType[,...]

[USING SCOPE filterScope]




Out of interest, if you don't use a valid sObject relationship on the additional sObject types you get the following message:



INVALID_TYPE: 
Name, Account.Name From Contact, Account
^
ERROR at Row:1:Column:45
A driving SObject type has already been set, all other entity types in the FROM clause must
be relationships to the initial object. The driving object is Contact.



While doing some checking I found this old dev forum question that indicated it was added to the syntax in Winter '15. Or at least documented then. - Missing doc for new SOQL multiple object SELECT?










share|improve this question






















  • Ah, I finally know how this strange syntax can actually be used. No idea on what it actually does though. Maybe it helps with choosing indices to use, or helps disambiguate multiple references to the same related SObject?

    – Derek F
    Apr 9 at 1:26











  • @DerekF Currently is seems redundant. Like it was maybe a left over from the SQL query origins. I'm still not sure what it would help disambiguate. Maybe for polymorphic relationships?

    – Daniel Ballinger
    Apr 9 at 1:36

















7















Here's a somewhat odd SOQL query from the question query user and profile:



select user.id, user.Email,user.FirstName,user.LastName,user.profile.name,user.Username,user.IsActive 
from user, user.profile


Note that the FROM clause includes both user and user.profile.



Here is a simpler example to follow the Contact to Account relationship:



select Id, Name, Account.Name from Contact, Contact.Account


The same query with the relationship join can be performed with:



Select Id, Name, Account.Name From Contact


Is there any purpose to supporting additional SObject types in the from clause, or is it vestigial?



Is is outlined as supported syntax in SOQL.




SELECT fieldList [subquery][...]

[TYPEOF typeOfField whenExpression[...] elseExpression END][...]

FROM objectType[,...]

[USING SCOPE filterScope]




Out of interest, if you don't use a valid sObject relationship on the additional sObject types you get the following message:



INVALID_TYPE: 
Name, Account.Name From Contact, Account
^
ERROR at Row:1:Column:45
A driving SObject type has already been set, all other entity types in the FROM clause must
be relationships to the initial object. The driving object is Contact.



While doing some checking I found this old dev forum question that indicated it was added to the syntax in Winter '15. Or at least documented then. - Missing doc for new SOQL multiple object SELECT?










share|improve this question






















  • Ah, I finally know how this strange syntax can actually be used. No idea on what it actually does though. Maybe it helps with choosing indices to use, or helps disambiguate multiple references to the same related SObject?

    – Derek F
    Apr 9 at 1:26











  • @DerekF Currently is seems redundant. Like it was maybe a left over from the SQL query origins. I'm still not sure what it would help disambiguate. Maybe for polymorphic relationships?

    – Daniel Ballinger
    Apr 9 at 1:36













7












7








7


1






Here's a somewhat odd SOQL query from the question query user and profile:



select user.id, user.Email,user.FirstName,user.LastName,user.profile.name,user.Username,user.IsActive 
from user, user.profile


Note that the FROM clause includes both user and user.profile.



Here is a simpler example to follow the Contact to Account relationship:



select Id, Name, Account.Name from Contact, Contact.Account


The same query with the relationship join can be performed with:



Select Id, Name, Account.Name From Contact


Is there any purpose to supporting additional SObject types in the from clause, or is it vestigial?



Is is outlined as supported syntax in SOQL.




SELECT fieldList [subquery][...]

[TYPEOF typeOfField whenExpression[...] elseExpression END][...]

FROM objectType[,...]

[USING SCOPE filterScope]




Out of interest, if you don't use a valid sObject relationship on the additional sObject types you get the following message:



INVALID_TYPE: 
Name, Account.Name From Contact, Account
^
ERROR at Row:1:Column:45
A driving SObject type has already been set, all other entity types in the FROM clause must
be relationships to the initial object. The driving object is Contact.



While doing some checking I found this old dev forum question that indicated it was added to the syntax in Winter '15. Or at least documented then. - Missing doc for new SOQL multiple object SELECT?










share|improve this question














Here's a somewhat odd SOQL query from the question query user and profile:



select user.id, user.Email,user.FirstName,user.LastName,user.profile.name,user.Username,user.IsActive 
from user, user.profile


Note that the FROM clause includes both user and user.profile.



Here is a simpler example to follow the Contact to Account relationship:



select Id, Name, Account.Name from Contact, Contact.Account


The same query with the relationship join can be performed with:



Select Id, Name, Account.Name From Contact


Is there any purpose to supporting additional SObject types in the from clause, or is it vestigial?



Is is outlined as supported syntax in SOQL.




SELECT fieldList [subquery][...]

[TYPEOF typeOfField whenExpression[...] elseExpression END][...]

FROM objectType[,...]

[USING SCOPE filterScope]




Out of interest, if you don't use a valid sObject relationship on the additional sObject types you get the following message:



INVALID_TYPE: 
Name, Account.Name From Contact, Account
^
ERROR at Row:1:Column:45
A driving SObject type has already been set, all other entity types in the FROM clause must
be relationships to the initial object. The driving object is Contact.



While doing some checking I found this old dev forum question that indicated it was added to the syntax in Winter '15. Or at least documented then. - Missing doc for new SOQL multiple object SELECT?







soql






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Apr 9 at 1:12









Daniel BallingerDaniel Ballinger

74.6k15155408




74.6k15155408












  • Ah, I finally know how this strange syntax can actually be used. No idea on what it actually does though. Maybe it helps with choosing indices to use, or helps disambiguate multiple references to the same related SObject?

    – Derek F
    Apr 9 at 1:26











  • @DerekF Currently is seems redundant. Like it was maybe a left over from the SQL query origins. I'm still not sure what it would help disambiguate. Maybe for polymorphic relationships?

    – Daniel Ballinger
    Apr 9 at 1:36

















  • Ah, I finally know how this strange syntax can actually be used. No idea on what it actually does though. Maybe it helps with choosing indices to use, or helps disambiguate multiple references to the same related SObject?

    – Derek F
    Apr 9 at 1:26











  • @DerekF Currently is seems redundant. Like it was maybe a left over from the SQL query origins. I'm still not sure what it would help disambiguate. Maybe for polymorphic relationships?

    – Daniel Ballinger
    Apr 9 at 1:36
















Ah, I finally know how this strange syntax can actually be used. No idea on what it actually does though. Maybe it helps with choosing indices to use, or helps disambiguate multiple references to the same related SObject?

– Derek F
Apr 9 at 1:26





Ah, I finally know how this strange syntax can actually be used. No idea on what it actually does though. Maybe it helps with choosing indices to use, or helps disambiguate multiple references to the same related SObject?

– Derek F
Apr 9 at 1:26













@DerekF Currently is seems redundant. Like it was maybe a left over from the SQL query origins. I'm still not sure what it would help disambiguate. Maybe for polymorphic relationships?

– Daniel Ballinger
Apr 9 at 1:36





@DerekF Currently is seems redundant. Like it was maybe a left over from the SQL query origins. I'm still not sure what it would help disambiguate. Maybe for polymorphic relationships?

– Daniel Ballinger
Apr 9 at 1:36










1 Answer
1






active

oldest

votes


















7














One possible use is to use is to combine it with the Alias notation for the related sObjects.



E.g.



select c.Id, c.Name, ca.Name, art.Name 
from Contact c, Contact.Account ca, Contact.Account.RecordType art


If you wanted to query many fields from the related sObject then you could save a significant number of characters if you are running up against the 20,000 character limit.






share|improve this answer


















  • 2





    Even if you don't care about the query limit, it can be nice to save all that typing!

    – Adrian Larson
    Apr 9 at 17:01











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%2f257078%2fis-there-any-use-for-defining-additional-entity-types-in-a-soql-from-clause%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









7














One possible use is to use is to combine it with the Alias notation for the related sObjects.



E.g.



select c.Id, c.Name, ca.Name, art.Name 
from Contact c, Contact.Account ca, Contact.Account.RecordType art


If you wanted to query many fields from the related sObject then you could save a significant number of characters if you are running up against the 20,000 character limit.






share|improve this answer


















  • 2





    Even if you don't care about the query limit, it can be nice to save all that typing!

    – Adrian Larson
    Apr 9 at 17:01















7














One possible use is to use is to combine it with the Alias notation for the related sObjects.



E.g.



select c.Id, c.Name, ca.Name, art.Name 
from Contact c, Contact.Account ca, Contact.Account.RecordType art


If you wanted to query many fields from the related sObject then you could save a significant number of characters if you are running up against the 20,000 character limit.






share|improve this answer


















  • 2





    Even if you don't care about the query limit, it can be nice to save all that typing!

    – Adrian Larson
    Apr 9 at 17:01













7












7








7







One possible use is to use is to combine it with the Alias notation for the related sObjects.



E.g.



select c.Id, c.Name, ca.Name, art.Name 
from Contact c, Contact.Account ca, Contact.Account.RecordType art


If you wanted to query many fields from the related sObject then you could save a significant number of characters if you are running up against the 20,000 character limit.






share|improve this answer













One possible use is to use is to combine it with the Alias notation for the related sObjects.



E.g.



select c.Id, c.Name, ca.Name, art.Name 
from Contact c, Contact.Account ca, Contact.Account.RecordType art


If you wanted to query many fields from the related sObject then you could save a significant number of characters if you are running up against the 20,000 character limit.







share|improve this answer












share|improve this answer



share|improve this answer










answered Apr 9 at 1:50









Daniel BallingerDaniel Ballinger

74.6k15155408




74.6k15155408







  • 2





    Even if you don't care about the query limit, it can be nice to save all that typing!

    – Adrian Larson
    Apr 9 at 17:01












  • 2





    Even if you don't care about the query limit, it can be nice to save all that typing!

    – Adrian Larson
    Apr 9 at 17:01







2




2





Even if you don't care about the query limit, it can be nice to save all that typing!

– Adrian Larson
Apr 9 at 17:01





Even if you don't care about the query limit, it can be nice to save all that typing!

– Adrian Larson
Apr 9 at 17:01

















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%2f257078%2fis-there-any-use-for-defining-additional-entity-types-in-a-soql-from-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







SpG7j6R7 u3oLJKz6GdxYM2E9u98REWdelZaQn Pk CBL,Jxe41k,CrsT1dYsB7ZmF6xVMRKK3yD8RLypCF7m1c36cp8
ZOLpu,1x mAev0siHdCG l3EYLDwzb5gmaRw42YSp9OHuzz3DyTftO6IEX9Bo4Rfonj,O2W3MynzTbKc9Kn

Popular posts from this blog

RemoteApp sporadic failureWindows 2008 RemoteAPP client disconnects within a matter of minutesWhat is the minimum version of RDP supported by Server 2012 RDS?How to configure a Remoteapp server to increase stabilityMicrosoft RemoteApp Active SessionRDWeb TS connection broken for some users post RemoteApp certificate changeRemote Desktop Licensing, RemoteAPPRDS 2012 R2 some users are not able to logon after changed date and time on Connection BrokersWhat happens during Remote Desktop logon, and is there any logging?After installing RDS on WinServer 2016 I still can only connect with two users?RD Connection via RDGW to Session host is not connecting

Vilaño, A Laracha Índice Patrimonio | Lugares e parroquias | Véxase tamén | Menú de navegación43°14′52″N 8°36′03″O / 43.24775, -8.60070

Cegueira Índice Epidemioloxía | Deficiencia visual | Tipos de cegueira | Principais causas de cegueira | Tratamento | Técnicas de adaptación e axudas | Vida dos cegos | Primeiros auxilios | Crenzas respecto das persoas cegas | Crenzas das persoas cegas | O neno deficiente visual | Aspectos psicolóxicos da cegueira | Notas | Véxase tamén | Menú de navegación54.054.154.436928256blindnessDicionario da Real Academia GalegaPortal das Palabras"International Standards: Visual Standards — Aspects and Ranges of Vision Loss with Emphasis on Population Surveys.""Visual impairment and blindness""Presentan un plan para previr a cegueira"o orixinalACCDV Associació Catalana de Cecs i Disminuïts Visuals - PMFTrachoma"Effect of gene therapy on visual function in Leber's congenital amaurosis"1844137110.1056/NEJMoa0802268Cans guía - os mellores amigos dos cegosArquivadoEscola de cans guía para cegos en Mortágua, PortugalArquivado"Tecnología para ciegos y deficientes visuales. Recopilación de recursos gratuitos en la Red""Colorino""‘COL.diesis’, escuchar los sonidos del color""COL.diesis: Transforming Colour into Melody and Implementing the Result in a Colour Sensor Device"o orixinal"Sistema de desarrollo de sinestesia color-sonido para invidentes utilizando un protocolo de audio""Enseñanza táctil - geometría y color. Juegos didácticos para niños ciegos y videntes""Sistema Constanz"L'ocupació laboral dels cecs a l'Estat espanyol està pràcticament equiparada a la de les persones amb visió, entrevista amb Pedro ZuritaONCE (Organización Nacional de Cegos de España)Prevención da cegueiraDescrición de deficiencias visuais (Disc@pnet)Braillín, un boneco atractivo para calquera neno, con ou sen discapacidade, que permite familiarizarse co sistema de escritura e lectura brailleAxudas Técnicas36838ID00897494007150-90057129528256DOID:1432HP:0000618D001766C10.597.751.941.162C97109C0155020