All Apps and Add-ons

Multiple Table Join in DB Connect

mshuster
New Member

In the SQL Query of a Database Input, is it possible to join multiple tables while preserving the rising column as the tailing value?

For example the following returns a "SQL command not properly ended" error :

SELECT *
FROM employee a, dept b
{{WHERE a.$rising_column$ > ?}}
AND a.salary = b.salary

But when I input the following SQL, the command works but infinite copies of the same rising_column value are put into the index flooding the index until I stop Splunk:

SELECT *
FROM employee a, dept b
{{WHERE a.salary = b.salary AND a.$rising_column$ > ?}}

I further tried writing the query this way, but no results were returned:

select *
from employee a NATURAL JOIN dept b
{{WHERE a.$rising_column$ > ?}}

Is there a way to write a multiple table join another way?

0 Karma

pmdba
Builder

A word of advice: always explicitly define the columns you are selecting rather than using an implicit wildcard like "*". It makes troubleshooting easier down the road and prevents changes to underlying tables from causing unintended problems in unrelated code.

That said, try the following (substituting your column names as appropriate):

select a.col_1, a.col_2, b.col_1, b.col_2
from employee a
join dept b using (salary)
{{where a.$rising_column$ > ?}}
Get Updates on the Splunk Community!

Splunk Observability for AI

Don’t miss out on an exciting Tech Talk on Splunk Observability for AI!Discover how Splunk’s agentic AI ...

Splunk Enterprise Security 8.x: The Essential Upgrade for Threat Detection, ...

Watch On Demand the Tech Talk, and empower your SOC to reach new heights! Duration: 1 hour  Prepare to ...

Splunk Observability as Code: From Zero to Dashboard

For the details on what Self-Service Observability and Observability as Code is, we have some awesome content ...