Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

The multi-part identifier "Database.dbo.Table.Column" could not be bound

I have been trying to join two tables using a LOAD JOIN combination, they are a Calls Table and a Company Table...the Company_Id field is the joining field in both tables....I want to have the Company.Country field available in the Calls table

CALLS:
LOAD
     Call_ID,
     Last_Updated,
     Call_Status,
     Company_Id;

SQL SELECT
     Call_ID,
     Last_Updated,
     Call_Status,
     Company_Id
FROM
    Calls
ORDER BY
     Last_Updated;

JOIN (CALLS)

COMPANY:
LOAD
Country;

SQL SELECT
Country
FROM
Company
WHERE
    DataBaseName.dbo.Company.Company_Id = DataBaseName.dbo.Calls.Company_Id;

I've tried all variations of

DataBaseName.dbo.Calls.Company_Id

dbo.Calls.Company_Id

Calls.Company_Id

But it always gives me the error

4 Replies
Not applicable
Author

Hello Mark,

You have to do this in two steps:

1.- Load SQL Query per Table and store in qvd file.

2.- Load QVD and do the join same as you have tried.

The script can be like this:


CALLS:

LOAD
     Call_ID,
     Last_Updated,
     Call_Status,
     Company_Id;

SQL SELECT
     Call_ID,
     Last_Updated,
     Call_Status,
     Company_Id
FROM
    Calls
ORDER BY
     Last_Updated;

Store CALLS into CALLS.qvd;

Drop Table CALLS;

COMPANY:
LOAD

Company_Id
Country;

SQL SELECT
Country
FROM
Company;

Store COMPANY into COMPANY.qvd;

Drop Table COMPANY;

CALLS:

LOAD *FROM CALLS.qvd;

Join(CALLS)

COMPANY:

LOAD * FROM CAOMPANY.qvd;

The company table join to calls by Company_Id, take care Company_Id most be included in company table to works the join.

Best regards.

rbecher
MVP
MVP

Hi Mark,

if you want to make the JOIN in QlikView script (not in the SQL statement) you do not need a join condition like in SQL. Just add the column Company_Id as field in the second LOAD:

JOIN (CALLS)

COMPANY:
LOAD

Company_Id,
Country;

SQL SELECT

Company_Id, Country

FROM

Company;

Or, do the join in the first SQL statement on the database level.

- Ralf

Astrato.io Head of R&D
Not applicable
Author

This is what I have been doing up to now but the company table has 270,000 records and really only need the 10,000 of those that are connected to the calls...so I wanted to only load those company records that were actually attached to the calls.

Anonymous
Not applicable
Author

SQL SELECT

a.Country

FROM

Company a

INNER JOIN Calls b on a.Company_Id = b.Company_Id;