ISqlQueryBuilder.UnionAll(string sqlRaw) Method
.NET Standard 2.x
Uses UNION ALL
to combine the result set of the current SQL SELECT statement with the result set of another raw SQL SELECT statement. The combined result set includes duplicate records.
Namespace: SnapObjects.Data
Assembly: SnapObjects.Data.dll
Syntax
ISqlQueryBuilder UnionAll(string sqlRaw);
Parameters
sqlRaw
System.String
The raw SQL SELECT whose result set is to be combined with the result set of the current SQL query.
Returns
SnapObjects.Data.ISqlQueryBuilder
Returns the current ISqlQueryBuilder
object.
Remarks
The result sets to be combined must have the same number of columns and the same data type of these columns, and the order of these columns in the SELECT statement must be the same.
Examples
The following code example demonstrates how to use the UnionAll(string sqlRaw) method to merge the result sets of two or more SQL SELECT statements; it includes duplicate rows and does not sort the data. These SELECT statements must have the same number of columns of the same data type and in the same selected order.
using SnapObjects.Data;
using System;
namespace Appeon.ApiDoc.ISqlQueryBuilderExamples
{
public class UnionAllExample
{
private SchoolContext _context;
public UnionAllExample(SchoolContext dataContext)
{
// Sets Data Context.
_context = dataContext;
}
public void Example3()
{
// Declares SqlQueryBuilder.
var sqlbuilder = new SqlQueryBuilder();
sqlbuilder.Select("courseid", "courseid")
.Select("url", "address")
.From("OnlineCourse", "online");
// The SELECT statement to be merged with is a raw SQL string.
// Make sure the column number, data type, and order are the same for these two statements.
sqlbuilder.UnionAll("select courseid as courseid, location as address" +
" from OnsiteCourse");
// Converts to raw SQL for the database corresponding to the data context.
string sql = sqlbuilder.ToSqlString(_context);
Console.WriteLine(sql);
/*This code produces the following output:
SELECT
[courseid] AS [courseid],
[url] AS [address]
FROM [OnlineCourse] AS [online]
UNION ALL
(SELECT
[courseid] AS [courseid],
[location] AS [address]
FROM [OnsiteCourse])
*/
}
}
}
Applies to
.NET Standard
2.x