How to use Joins in queries in js files | Community
Skip to main content
Level 2
March 5, 2020
Solved

How to use Joins in queries in js files

  • March 5, 2020
  • 1 reply
  • 6546 views

Hi there,

 

I am trying to query data from javascript like below:

 

var query = NLWS.xtkQueryDef.create(
  {queryDef: {schema: "nms:recipient", operation: "select", 
    select: {
        node: [{expr: "@id"},
               {expr: "@label"},
               {expr: "@internalName"}] 
    }, 
    where: {
      condition: [{expr: "@id='16'"}]
    }
  }})

 

So for the above query, if I have another table which is nms:userEmail. And I want to inner join this table with the current one(which is the one that shows above in the js code(nms:recipient)), and get the joined table. How can I do that here? What the query should be like?

 

Thank you!

 

 

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by jonasn92134656

Hi,

 

Is the join defined in the schema already? In that case you should be able to reference attributes of the linked schema in the query, either in selected nodes or conditions:

 

var query = NLWS.xtkQueryDef.create(
  {queryDef: {schema: "nms:recipient", operation: "select", 
    select: {
        node: [{expr: "@id"},
               {expr: "@label"},
               {expr: "@internalName"},
{expr: "linkToOtherResource/@linkedAttribute"}] }, where: { condition: [{expr: "@id='16'"}] } }})

 

Regards

1 reply

jonasn92134656Accepted solution
Level 3
March 6, 2020

Hi,

 

Is the join defined in the schema already? In that case you should be able to reference attributes of the linked schema in the query, either in selected nodes or conditions:

 

var query = NLWS.xtkQueryDef.create(
  {queryDef: {schema: "nms:recipient", operation: "select", 
    select: {
        node: [{expr: "@id"},
               {expr: "@label"},
               {expr: "@internalName"},
{expr: "linkToOtherResource/@linkedAttribute"}] }, where: { condition: [{expr: "@id='16'"}] } }})

 

Regards

Level 2
March 6, 2020

@yunxiangxu, make sure that your node expression is wrapped in square brackets: 

{expr: "[linkToOtherResource/@linkedAttribute]"}