首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扩展SQL C# WPF查询

扩展SQL C# WPF查询
EN

Stack Overflow用户
提问于 2013-07-25 06:36:34
回答 1查看 259关注 0票数 1

我在这里回答了一个查询,SQL选择在另一个表中没有值的All

我刚刚被要求集成来自另一个数据库的数据。这是我目前所拥有的。

代码语言:javascript
复制
            string _loanSubcontractor = TableNames.Default.LoansSubcontractors;
            string _loanPacific = TableNames.Default.LoansPacific;
            string _tools = TableNames.Default.Tools;
            string _selectStatement = " SELECT [Tools].[Type], [Tools].[Brand], [Tools].[Serial], [Tools].[Year], [Tools].[Code] ";
            string _groupBy = " GROUP BY [Tools].[Type], [Tools].[Brand], [Tools].[Serial], [Tools].[Year], [Tools].[Code], [Tools].[Working] ";
            string _searchItems = " ([Tools].Code LIKE @toolSerial OR [Tools].Serial LIKE @toolSerial) AND ([Tools].[Working] = 'True' OR [Tools].[Working] IS NULL) ";
            SqlConnection myConnection = new SqlConnection(Connection.Default.ConnectionString);
            //Checks the main tool information 
            myConnection.Open();
            SqlCommand getTool = new SqlCommand(
                _selectStatement + "FROM [" + _tools + "] LEFT OUTER JOIN [" + _loanSubcontractor + "] ON " +
                _tools + ".code = [" + _loanSubcontractor + "].ToolCode FULL JOIN [" + _loanPacific + "] ON " + _tools + ".Code = " +
                _loanPacific + ".ToolCode WHERE [" + _loanSubcontractor + "].ToolCode IS NULL AND [" + _loanPacific + "].ToolCode IS NULL AND (" + _searchItems + ")" +
                "UNION " +
            _selectStatement + " FROM [" + _loanSubcontractor + "] INNER JOIN " + _tools + " ON " + _tools + ".Code = [" + _loanSubcontractor + "].ToolCode  " +
                "INNER JOIN " + _loanPacific + " ON " + _loanPacific + ".ToolCode = " + _tools + ".Code " + _groupBy +
                "HAVING (COUNT(" + _loanSubcontractor + ".ReturnDate) = COUNT(*) OR COUNT(" + _loanPacific + ".ReturnDate) = COUNT(*)) " +
                " AND " + _searchItems, myConnection);
            getTool.Parameters.Add("@toolSerial", SqlDbType.NVarChar).Value = "%" + toolSerial + "%";

我有两个贷款表(一个用于雇员,另一个用于分包商),因为属性名称不同,数据类型也不同。本质上,我需要检查该工具是否正常工作,并且该工具没有在任何一个贷款表中使用(如返回日期为null所示)。这两个表中的任何一个都可能有贷款,也可能没有。

另外,有人能为我提供一个链接来显示C#中的SQL良好的格式化技术吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-25 06:52:05

我知道你对SQL使用linq。这是ADO.NET的一部分,您可以使用长查询,使用100 %的范围和简单的方式

用于linq到SQL的msdn.microsoft.com

LINQ:.NET语言-关系数据的集成查询

C#中的简单LINQ

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17850732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档