如何在C#代码中使用Sql查询的一列到另一个Sql查询中

本文关键字:查询 Sql 一列 另一个 代码 | 更新日期: 2024-09-22 20:22:08

如何在下面的c#代码中使用query1列Display Group到查询2中。

我已经用????符号表示了要放置query1列的位置。

public class PopulateRangeInStore
{
    [Test]
    [Category(TestType.NeedsDeployment)]
    public void PopulateRangeInStores()
    {
        ExecutePopulateRangeInStoreProcedure("csg_sp_populate_RangeInStore");
        using (var connection = IKBDatabaseConnection.GetConnectionForIKBTFS())
        {
            string query1 = "SELECT count (distinct DESC7) FROM ix_spc_planogram (NOLOCK) WHERE dbstatus= 1";
            string query2 = "SELECT count (distinct EquipmentType) FROM Csg_Range_In_Store (NOLOCK) WHERE DisplayGroup = '" + ?????+ "'";
            var command1 = new SqlCommand(query1, connection);
            var command2 = new SqlCommand(query2, connection);
            //string output = " ";
            //var  = " ";
            //var actualDG = " ";
            var actualDG = " ";
            var expectedDG = " ";
            var dataReader1 = command1.ExecuteReader();
            var dataReader2 = command2.ExecuteReader();
            if (dataReader1.Read())
            {
                DataTable dt = new DataTable();
                dt.Load(dataReader1);
                expectedDG = dt.Rows.Count.ToString();
            }
            if (dataReader2.Read())
            {
                DataTable dt = new DataTable();
                dt.Load(dataReader2);
                actualDG = dt.Rows.Count.ToString();
            }
            actualDG.Should().Be(expectedDG);

        }
    }

    private void ExecutePopulateRangeInStoreProcedure(string storedProcedure)
    {
        using (var connection = IKBDatabaseConnection.GetConnectionForIKBTFS())
        {
            using (SqlCommand cmd = new SqlCommand(storedProcedure, connection))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add("@ix_sys_error", SqlDbType.Int).Value = 0;
                cmd.CommandTimeout = 0;
                cmd.ExecuteNonQuery();
            }
        }
    }


}

如何在C#代码中使用Sql查询的一列到另一个Sql查询中

您可以通过在??的位置创建子查询来解决它???

string query2 = "SELECT count (distinct EquipmentType) FROM Csg_Range_In_Store (NOLOCK) WHERE DisplayGroup in (" + query2 +")";