从 2 个表中 SELECT 到 dataGridView 时出现 GROUP BY 问题

2023-12-11

在你的帮助下我做了这两个QUERY。我发布了图片,以便您可以在green squares是我想看到的空值red squares是我不想显示的值。多变的vyberradek插入“子项”的值INT在数据库中,但我通过了它string.

所以我会简化:现在我可以显示全部或部分,你能帮我如何显示正确的记录吗?

这第一query做这个:

enter image description here

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);

Here is what does the second query: enter image description here

 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}' and klisluz.subkey ='" + vyberradek + "' GROUP BY klisluz.subkey,zajsluz.akce,zajsluz.text,klisluz.pocet,zajsluz.ID", sZakce);

正如你所看到的,我也想显示空的。我想您可能还需要检查复选框的代码:

 for (int i = 0; i < dtg_ksluzby.Rows.Count; i++)
            {
                var row = dtg_ksluzby.Rows[i];
                int id = (int)row.Cells["ID"].Value;

                using (var novyprikaz3 = new SqlCommand("SELECT * from klisluz WHERE subkey='" + vyberradek + "'AND IDzajsluz=" + id, spojeni))
                {

                    spojeni.Open();
                    SqlDataReader precti3 = novyprikaz3.ExecuteReader();
                    if (precti3.HasRows)
                    {
                        row.Cells[5].Value = true;
                    }
                    spojeni.Close();
                }
            }

请你们建议我应该如何query看起来甚至要选择非检查值(不在表 klisluz 中)和检查值?

我发现没有人回复得这么好,让我举一个简单的例子:当我创建客户端时,我会检查 10 个复选框中的 3 个。因此它选择 3 行(以及添加到表 klisluz 中的行)。我有这两个queries, First query显示其他客户端选中的复选框,以及该客户端未选中的复选框。它只是显示数据库中的所有内容,因此它显示包含其他客户端的已检查内容的行(但仅显示与此客户端和其他一些客户端相同的行,它不会创建重复项)。第二个显示仅检查该客户,但不检查他未选择的客户。因此,当我编辑这个客户时,我想显示他检查了什么以及其余 7 个(他没有检查的 7 个可能性,以便我可以检查它们)。现在,我只能显示我检查的内容(没有未检查的内容)或包括其他客户端检查在内的所有内容(对于该客户端来说是相同的)。我希望这是可以理解的,抱歉我的英语不好。

附:检查我的意思是检查checkbox(选择行) 基本上它是一个为客户增加服务的程序。

非常感谢您的兴趣,如果您阅读了全部内容,也非常感谢您的阅读。我被这个问题困扰了两天:/

kwwallpe 的图片: 您可以在这里看到“Nic”从未被任何客户选择过,因此它被显示。

为了让我的问题更清楚 - 我从另一个表中获取其中一些列(正如您在 sql 查询中看到的那样)。

kwwallpe 的代码是这样的:

 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}' and ISNULL(klisluz.subkey, '" + vyberradek + "') = '" + vyberradek + "' GROUP BY klisluz.subkey,zajsluz.akce,zajsluz.text,klisluz.pocet,zajsluz.ID", sZakce);

我认为这段代码非常接近 2。因为它选择从未被任何客户选择过的值 b4。您可以看到帽子“Nic”被显示,因为它不在表 klisluz 中。

enter image description here


如果我理解您的需求,这就是阻止您获取 klisluz 中没有条目的行的部分:

WHERE zajsluz.akce= '{0}' and klisluz.subkey ='" + vyberradek + "'

对于 klisluz 中不存在的行,子键将为 NULL,这不会与该 WHERE 子句匹配任何内容。要也获取这些行,您可以将当前的 WHERE 子句替换为:

WHERE zajsluz.akce= '{0}' and ISNULL(klisluz.subkey, '" + vyberradek + "') ='" + vyberradek + "'

这是完整的代码行:

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}' and ISNULL(klisluz.subkey, '" + vyberradek + "') = '" + vyberradek + "' GROUP BY klisluz.subkey,zajsluz.akce,zajsluz.text,klisluz.pocet,zajsluz.ID", sZakce);

要确定是否应选中该复选框:

if (precti3.HasRows)
{
    precti3.Read();
    if (precti3.Item("subkey") != Null)
    {
        row.Cells[5].Value = true;
    }
    else
    {
        row.Cells[5].Value = false;
    }
}

I think这就是 C# 中的情况。我在 VB.NET 中工作,为此使用了在线转换器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 2 个表中 SELECT 到 dataGridView 时出现 GROUP BY 问题 的相关文章

随机推荐

  • 有人可以向我解释 git diff 在这里看到什么区别吗?

    我在 Windows 7 上通过 msysgit 使用 git 最近让我非常痛苦的一个问题是 一旦我切换到某些分支 git 就会认为某些文件已被更改 然后我无能为力让它停止认为这些文件已更改 在我的案例中重现的步骤 可能与每个人都不相关 如
  • 如何更改 JTextPane 中特定单词的颜色?

    如何更改特定单词的颜色JTextPane就在用户打字时 我应该覆盖吗JTextPane paintComponent method 不 您不应该重写 PaintComponent 方法 相反 你应该使用StyledDocument 您还应该
  • Chrome 网上应用店扩展应用程序内购买 INTERNAL_SERVER_ERROR

    Chrome 扩展程序中的 Chrome InApp 购买流程取得了部分成功 我已包含 buy js 文件并实现了此处 Chrome 演练中列出的流程 https developer chrome com webstore payments
  • 在 GNU C 内联汇编中使用 LDRD?使用什么限制?

    TL DR我在玩 easm 并烧伤了我的手指 我的限制有意义吗 当我玩弄内存时 我想测试在 ARM CPU 皮质 A9 上手动读取一些内存 免责声明 这里的学习目的 当然我同意依赖优化器在 99 999 的情况下都是正确的做法 但我真的很想
  • Tensorflow 安装错误:__ 在此平台上不支持轮子

    我正在尝试在我的电脑上安装tensorflow 但我不断收到错误 我在网上看到了很多关于tensorflow安装错误的帖子 但我找到的只是解决方案 说python的版本不兼容 但是 我使用的是 python 3 8 并且使用的是tensor
  • 我可以在c#中创建一个新对象变量的名称吗?

    例如 car Audi new car 是否有可能是这样的 string name Microsoft VisualBasic Interaction InputBox Name of new car Add car car name ne
  • 将.key和.pem文件导入到jks文件并在Java/Spring中使用

    我从服务团队获得了以下密钥 证书 用于通过 SSL 调用他们的 API 我通过curl 命令对其进行了验证 1 QA test key 2 QA test pem 卷曲命令 curl key QA test key cert QA test
  • 基本矩阵的分解:验证 R 和 T 的四种可能解决方案

    我想使用 OpenCV 进行一些运动结构 到目前为止 我已经有了基本矩阵和基本矩阵 有了基本矩阵 我正在做 SVD 来获得 R 和 T 我的问题是 我有 2 个可能的 R 解决方案和 2 个可能的 T 解决方案 这导致整体姿势有 4 个解决
  • 删除 R 中过于常见的单词(出现在超过 80% 的文档中)

    我正在使用 tm 包来创建语料库 我已经完成了大部分预处理步骤 剩下的事情就是删除过于常见的单词 在超过 80 的文档中出现的术语 有人能帮我解决这个问题吗 dsc lt Corpus dd dsc lt tm map dsc stripW
  • PHP:在指定的时间内回显消息

    我想显示一个字符串 您的状态已发布 大约 3 秒左右 然后我希望它消失 截至目前 我有一个新闻提要 用户可以在其中发布消息 并且在发布消息后回显该文本字符串 直到重新输入 URL 有没有人有什么建议 if POST submit body
  • Matlab - 2次方矩阵

    In Matlab 我输入了以下命令 gt gt a 1 2 3 4 a 1 2 3 4 当我尝试命令时a 2 我得到以下内容 gt gt a 2 ans 7 10 15 22 我实际上期望得到 ans 1 4 9 16 换句话说 我期望将
  • 如何将模板变量传递给模板辅助函数以保留上下文?

    我可能使用了错误的词语来描述我的问题 所以这是我正在使用的 简化的 代码 我很高兴学习更好的方法来做到这一点 但我目前正在尝试做的是通过 assigneeId 到名为的模板辅助函数agentIs 问题是我找不到传递该值的正确方法
  • 左/右透明剪切箭头

    我知道之前已经回答过这个问题 但是那是针对 div 的底部 我无法弄清楚如何为 div 的左侧和右侧执行此操作 我试图达到与此相同的效果 BODY background url http farm6 staticflickr com 550
  • 如何检测DIV的维度发生变化?

    我有以下示例 html 其中有一个宽度为 100 的 DIV 它包含一些元素 在执行窗口大小调整时 内部元素可能会重新定位 并且 div 的尺寸可能会发生变化 我问是否可以hook div 的尺寸变化事件 以及如何做到这一点 我目前将回调函
  • QThread 执行冻结了我的 GUI

    我是多线程编程的新手 我用 Qt 编写了这个简单的多线程程序 但是当我运行这个程序时 它冻结了我的 GUI 当我在窗口中单击时 它会响应说您的程序没有响应 这是我的小部件类 我的线程开始计算一个整数 并在该数字可被 1000 整除时发出它
  • 客户端布局是否使一切都成为客户端?如果是这样,如何在保持其服务器组件的同时向其添加客户端交互性?

    我试图了解如何使用服务器组件处理模式打开 关闭 以前 对于客户端组件 我只需将状态提升到我的Layout export default function Layout children const showPopup setShowPopu
  • 工厂方法反if实现

    我正在我的 C 项目中应用工厂设计模式 下面您可以看到我是如何做的 我尝试通过遵循 反 if 活动来改进我的代码 因此想删除我所拥有的 if 语句 知道我该怎么做吗 typedef std map
  • 将 Swift 字符串编码为转义的 unicode?

    API数据字段仅支持ASCII编码 但我需要支持Unicode 表情符号 外来字符等 我想将用户的文本输入编码为转义的 unicode 字符串 let textContainingUnicode Let s go in the And so
  • C/C++ 警告:BDADDR_ANY 蓝牙库的临时地址

    我在 Ubuntu 下使用 g 和使用蓝牙库的 C C 程序的编译过程时遇到一些问题 如果我使用 gcc 它工作正常 没有任何警告 相反 如果我使用 g 我会收到此警告 警告 正在获取临时地址 即使程序编译良好并且可以工作 报告错误涉及的行
  • 从 2 个表中 SELECT 到 dataGridView 时出现 GROUP BY 问题

    在你的帮助下我做了这两个QUERY 我发布了图片 以便您可以在green squares是我想看到的空值red squares是我不想显示的值 多变的vyberradek插入 子项 的值INT在数据库中 但我通过了它string 所以我会简