【问题标题】:SELECT and GROUP BY issue in datagridviewdatagridview 中的 SELECT 和 GROUP BY 问题
【发布时间】:2013-07-19 08:34:26
【问题描述】:

我有这个查询,我无法选择不同的我上传了一张图片,以便您更好地理解它。我还用方块标记了它,这些值适合在一起。 我想我需要在 doint LEFT JOIN 时添加klisluz.subkey 列,但我不知道该怎么做?然后在 klisluz.subkey 为“vyberradek”的地方对其进行排序

DataTable dt = new DataTable();
string sZakce = string.Empty;
if (zakce != null && zakce.Text != null)
{
  sZakce = zakce.Text;
}

   string sQuery = string.Format("SELECT         zajsluz.akce ,zajsluz.text,klisluz.pocet,klisluz.subkey,zajsluz.ID FROM zajsluz LEFT JOIN        klisluz ON zajsluz.ID=klisluz.IDzajsluz WHERE zajsluz.akce= '{0}' GROUP BY        klisluz.subkey,zajsluz.akce,zajsluz.text,klisluz.pocet,zajsluz.ID", sZakce);
   SqlDataAdapter SDA = new SqlDataAdapter(sQuery, spojeni);        
SDA.Fill(dt);
dtg_ksluzby.DataSource = dt;

编辑:我更新了查询,所以现在我插入了列 klisluz.subkey

【问题讨论】:

  • 尝试使用 Group By,如果可能,请发布表格结构。
  • 你好 Luv,我如何提供你的表结构?感谢您的评论。
  • 您可以在SQLFiddel 上创建表结构,也可以在其中插入行。因此,我们可以非常轻松快速地为您提供帮助。

标签: c# sql sql-server datagridview sqlcommand


【解决方案1】:

您对多列使用 distinct。例如,如果所有列的值都存在于另一行上,它才会起作用

1 888 66 巴尔孔 3 122
不同于
1 888 67 巴尔孔 5 122
因为值 67 和 5

除非您将第 1 行更改为
1 888 67 巴尔孔 5 122
或者您将第 2 行更改为
1 888 66 Balkon 3 122 然后它会工作

【讨论】:

  • 嗯,我需要对它进行排序,所以我只能看到属于数据库的一个方块,但我还想看看其余没有用复选框标记的方块
  • 你能否提供更多关于你真正需要的细节,因为根据我的理解,你更关注“不同”的主题
  • 好吧,我需要将“klisluz.subkey”添加到 dtg_ksluzby(它是我发布的查询)。现在它选择我所有的复选框都不管子键是什么,因为目前没有 klisluz.subkey。而且我也不想松开“未检查”的行。有什么办法吗?
  • 对不起,我还是有点困惑,但如果你想要 klisluz.subkey 那么你应该在你的选择查询中添加它
  • "SELECT DISTINCT zajsluz.akce,zajsluz.text,klisluz.pocet,klisluz.subkey,zajsluz.ID FROM zajsluz LEFT JOIN klisluz ON zajsluz.ID=klisluz.IDzajsluz WHERE zajsluz.akce='{ 0}' and klisluz.subkey ='67' order by zajsluz.id asc
猜你喜欢
  • 2019-04-30
  • 2013-07-18
  • 1970-01-01
  • 1970-01-01
  • 2012-10-02
  • 1970-01-01
  • 2019-02-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多