Articles on: Dashboards & Jobs

Table Relationships & Tags

This article shows these different relationships between tables:

Table relationships and tags
Relationship between the Activity table and the Customer list
Relationship between the activity table and the matrix table
Relationship between the matrix table and the list
Relationship between the activity table and the multiple choice table
Relationship between the activity table and the visit reports
How to fetch the Activity report / List ids from the webapp
Checking list Assignation (scope) in the webapp
Assignation tables
Relationship between the mobile users table and the items mobile users
Relationship between the teams table and the items teams

Table relationships and tags



When creating queries that form different charts, relationships between tables in a database are established using various types of keys, such as primary keys and foreign keys.
These keys help define the relationships and maintain data integrity.
You can use JOIN clauses to combine data from multiple tables based on these relationships when writing SQL queries to retrieve data from related tables.

Find below the different tables, what they contain, and their relationship.


Relationship between the Activity table and the Customer list



The activity table consist of data from the activity report while the customer list table has details of the customers.

Activity table(a_activity id) eg a_sdtfhyjkuipmhcustomer list (l_customer)
_ customer_ id _id


Relationship between the activity table and the matrix table



The matrix table consist of all the information (questions) filled in the matrix question.Each matrix table is named as per the name of the matrix .E.g a_sdtfhyjkuipmh_branding_audit, this table will be for the matrix branding_audit.
Activity table(a_activity id) eg a_sdtfhyjkuipmhMatrix table (a_sdtfhyjkuipmh_branding_audit
_id report id


Relationship between the matrix table and the list



The matrix table may consist questions that need to use the lists hence it will be linked to the list needed eg the sku,competitor products,assets etc.
Matrix table ((a_activity_id_matrix name) eg a_sdtfhyjkuipmh_productsl+ list id (sku/competitors/assets etc) ) e.g l_sku,l_xvbcghtuom)
_ object_ id _id


Relationship between the activity table and the multiple choice table



The multiple choice table will consist of all the information from all the multiple choice questions in an activity.In this table, we have a column named _custom_field_tag which consist of all the tags for the different multiple choice questions,it can be used to filter the information for a specific question when developing queries eg

SELECT * FROM a_sdtfhyjkuipmh_multiple_choice where _custom_field_tag = '_visit_objectives'

This query will return all the entries for the multiple question on visit objective.
In the table we have the column _ object_id which contails all the different choices submitted from the different multiple choice questions.
The multiple choice table could also be linked to any list which the field pro user will be use to select the difference choices from.

Activity table(a_activity_id) eg a_sdtfhyjkuipmha_sdtfhyjkuipmh_multiple_choice
_id_ main_ table_record_id


a_sdtfhyjkuipmh_multiple_choicelist (sku/competitors/assets etc) ) e.g l_sku,l_xvbcghtuom)
_object_id _id


Relationship between the activity table and the visit reports



The visit_reports table will store all the visits done on activities of the Report prerequisite Need visit or geo check-in or customer selection.

Activity table(a_activity_id) eg a_sdtfhyjkuipmhvisits_report
_visit_id id

id |![Report prerequisite](https://storage.crisp.chat/users/helpdesk/website/eccae9ddfa738000/image_1gtppuy.png)

How to fetch the Activity report / List ids from the webapp



Below is a video on where to fetch the ids or either the activity report or the lists from the webapp.

https://www.loom.com/embed/f1d385f6c1be4548bf665ad98065260f?sid=8c624687-2fa9-41ec-a5b4-816767a399c2

Checking list Assignation (scope) in the webapp



The lists could be set to have either of the below scopes in the webapp.Below is the meaning for each scope
Global - the items in the list are visible to everyone
Teams - items are accessible by more than 1 team. 1 item can be assigned to more than 1 team
Single team - 1 item in the list can only be assigned to 1 team.Different teams cannot have visibility to the same item
Mobile users - items are accessible by more than 1 mobile user. 1 item can be assigned to more than 1 mobile user
Single Mobile users - 1 item in the list can only be assigned to 1 Mobile user.Different Mobile users cannot have visibility to the same item.

Below is a video on where to check/edit the scope of the lists in the webapp

https://www.loom.com/embed/5243e9e89338496a90c9f45aa4925a0d?sid=ec932719-1efe-446b-9eea-aa29f2216127

Assignation tables



We have two tables that store data on assignation depending on the scope
items_teams - This table contains information on which items have been assigned to each teams and also the list id of the items.The scope can be teams or single team.

items_mobile_users - This table contains information on which items have been assigned to each user and also the list id of the items.The scope can be mobile users or single mobile users

Relationship between the mobile users table and the items mobile users



This relationship is useful if you need to get more details on the users who have been assigned the items from any list eg name, role etc The column list_id can be used to filter on the items assigned from a particular list.
e.g
SELECT * FROM items_mobile_users WHERE list_id = 'customer'

mobile_usersitems_mobile_users
idmobile_user_id


Relationship between the teams table and the items teams



This relationship is useful if you need to get more details on theteams who have been assigned the items from any list eg name, region, etc The column list_id can be used to filter on the items assigned from a particular list.

items_teamsteams
team_id id

Updated on: 28/11/2024

Was this article helpful?

Share your feedback

Cancel

Thank you!