当前位置: 首页 > 知识库问答 >
问题:

MariaDB中的SQL如何使用2列中的数据从另一列中选择值?

东方旺
2023-03-14

具体的问题是从类表中选择rollno,它在dbms中存在,在数学中不存在。

rollno sts sub
1      1    dbms
1      0    maths
2      1    dbms
2      0    maths
3      0    dbms
3      1    maths
4      0    dbms
4      0    maths
5      1    dbms
5      1    maths

共有2个答案

邹麻雀
2023-03-14

您可以使用两个带id的子选择,而不是在

select roolno
from my_table 
where sub in (select roolno from my_table  where sub ='dbms')
and sub not in (select roolno from my_table  where sub ='maths' )
罗建弼
2023-03-14

您可以为此使用条件聚合:

select rollno
from mytable
group by rollno
having sum(sub = 'dbms' and sts = 1) > 0
   and sum(sub = 'maths' and sts = 1) = 0

这使用了MySQL中true计算为1,false计算为0的事实。

  • sum(sub='dbms'和sts=1)查找sub为给定rollno的dbms的行数,该行数必须至少为1
  • sum(sub='mathy'和sts=1)查找sub是给定rollno的数学的行数,该行数必须为0
 类似资料:
  • 问题内容: 我有2个表,一个包含我需要的最终结果,另一个包含我需要根据设定级别选择的列列表。 例如 : 所以,如果我做以下 然后,基本上我需要使用此select语句中的列名来确定从另一条语句中选择了哪些列。 香港专业教育学院尝试过的方法,我当然知道这是错的,但可以让我对我试图做的事情有所了解。 我试图以一种动态方式构建一个sql查询,该查询可以通过我放在表中的任何列进行更改。 从理论上讲,这应与以

  • 问题内容: 基本上,我有下表: 我需要在每个列中获得唯一的条目,如以下示例所示: 到目前为止,以下代码片段几乎提供了我想要的内容,但可能会返回一些值,这在当前列中不是唯一的: 也无济于事,因为它返回唯一的行,而不是其值 编辑: 选择顺序无关紧要 问题答案: 即使使用Dimitri提到的有问题的组合,这也对我有用。我不知道这对于大音量有多快 SQLFiddle当前不适用于我,这是我的测试脚本: 输出

  • 问题内容: 我的表是: 我需要选择每个包含的最大值。 结果将是: 我试过了: 不起作用 尽管数据库保留187个,但结果集有130行。结果包括的一些重复项。 没有。提供所有记录。 具有各种结果。 问题答案: 你好亲密!您需要做的就是选择住所及其最大日期时间,然后再加入到两个字段的表中:

  • 假设我有一个spark数据帧,有几列(其中列)和数据帧,有两列:和。 是否有复制以下命令的方法

  • 问题内容: 好的,因此我对其他解决方案没有任何帮助。所以这就是我想要做的。我需要选择多列的行,其中一列的值是最大值。 这是样本数据 我需要选择整行,其中orderfileid是每个唯一商品编号的最大值 返回的数据集应该看起来像 我想我尝试过可以想到的select max(orderfileid)的每种组合 任何帮助都将被申请。谢谢 问题答案: 您需要在子查询中找到MAX值,然后使用这些结果将其连接

  • 问题内容: 如何使用JOIN从一个表中选择所有列,从另一个表中仅选择一些列?在MySQL中。 问题答案: 只需使用表名: 这将选择所有列和列和从。