You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 20 Next »

Overview

A query is a request for data or information from a database table or combination of tables. This data may be generated as results returned by Structured Query Language (SQL) or as pictorials (graphs or complex results, e.g.) trend analyses from data-mining tools.

Several different query languages may be used to perform a range of simple to complex database queries.

Most database administrators are familiar with SQL since it is the most well-known and widely used query language. 

There are a couple different ways to execute a query in a project. Below you will find them listed with a short description.


Method 1: WhereCondition

The first method you can use is the WhereCondition. In this case, the data query will be performed in a table, created at Edit > Datasets > Tables. Since the table is already selected, you only need to supply the conditional. You must also run SelectCommand to update the query.


Creation of a Table


Method 2: Query

The second method is similar to the first one, but it uses a query, created at Edit>Datasets>Queries and linked to a provider (see image below).

To execute the query, you need to select one of the tables from the database and whatever condition needs to be used to filter the data. You need to run SelectCommand to update the query.


@Dataset . Query . Query1 . Sql Statement = ” s e l e c t ? from Table1 where 
UTCTimestamp  Ticks>=”  +  StartTime . Utc Ticks  +  ”   and   UTCTimestamp  Ticks<=”  +
EndTime . Utc Ticks + ”” ;
@Tag . TableTag = @Dataset . Query . Query1 . SelectCommand () ;



Method 3: Different Location

This alternative uses the same statement as presented before, but in a different Instead of writing it in a Task/Class or CodeBehind, it can be placed directly into Edit > Datasets > Queries > SqlStatement Column.



Method 4: SQL Query Builder

The last option is to use a feature called SQL Query Builder, found at Edit>Datasets. It is a graphic interface that facilitates the creation of SQL Statements based on a specific provider. This method is not as usual as the others, so more details regarding its functionalities will be explained below.





How to use SQL Query Builder

Loading Data

Before you can begin, you need to make sure your databases and providers are configured correctly in the project. The first thing you need to do is load the data into the Query Builder. To do so, open the builder and click on the Connect button in the top-left corner.


A popup will appear with a combobox containing various types of providers.  Select the one you will work with. In this example, we will set up a connection to a SQLite DB.


Now, we need to configure the path to the database. The path is the same one seen below in the Connection- String’s DataSource field.


If you wrote the correct path, you should be able to see all the available tables and their elements in the right corner. Double-click on one of the tables to load its elements into the Sub-Query Structure.

Properties

In the top-left corner, there is a Properties Button. When you select it, a popup will open that contains the Query Builder's customizable properties.

The image below shows all of the properties that are available to be customized.  


Creating Statements

After one of the loaded tables is selected into the Sub-query Structure, you can see that a statement is initialized at the bottom of the page.

To filter individual columns from the table, it is required only to check the element CheckBox. If none is selected, then your querie will return all table elements.


There are some columns in which it is possible to add conditions to filter values from the table. The column options are:

  • Visible: Remove the column from the query result;
  • Expression: Original column name;
  • Column Name: Give a table, or a column in a table, a temporary Aliases are often used to make column names more readable. An alias only exists for the duration of the query.
  • Sort Type: Sort the result-set in ascending or descending order.
  • Sort Order: Sort columns order in result
  • Aggregate: the values of multiple rows are grouped together as input on certain criteria to form a single value of more significant meaning. E.g.: Avg, Count, Sum.
  • Grouping: Group column elements. Enable creating filtering conditions for groups or
  • Criteria: Selection condition criteria. E.g.: =, >, <, ! =.
  • Or: Same as the Criteria


Statement Example

To better illustrate the Query Builder feature, let’s create an example. Assuming the following requirements for our query result:

  • Only the UTCTimestamp Ticks and HistoricalTag columns are
  • All column names need to have easy to understand
  • Elements will be sorted in Ascending
  • We want values from HistoricalTag values between 10 and 35

Filling the columns with the required information to perform the query as in the image.



The final SQL Statement generated by the Query Builder was:

Select Table1 . Historical Tag As TagValue , Table1 . UTCTimestamp Ticks As Date
From Table1
Where Table1 . Historical Tag = Table1 . Historical Tag > 10 And Table1 . Historical Tag <= 35
Order By TagValue , Date






  • No labels