MySQL - 选择所有其他列 = 0

标签 mysql chemistry

假设您有一个包含许多属性字段的表,例如:

id
datetime
q
a
c
d
.
.
.
(etc)

其中 q、a、c、d 等表示不定数量的 int 字段,其名称是生成的(也在运行时创建)

在某些特定字段为特定数字而所有其他字段均为 0 的约束下,如何进行选择?

(例如)a=1,c=5,其他都为0?

<小时/>

更新:

我想我要求的是是否有一些“整体”功能或者我可以直接“WHERE ALL OTHERS = 0”(或类似的东西)的功能。

规范化的问题是,即使在连接之后,我仍然必须检查特定的非零值以及所有其他字段(或规范化字段)是否为 0。

<小时/>

具体应用:

化学成分表

id
name
C
Fe
Cl
H
.
.
.
(etc - fields are added when new compound insert contains elements not listed)

示例行:

name = Hydrochloric acid
C = 0
Fe = 0
Cl = 1
H = 1
.
.
. 
(everything else = 0)

简单的 SELECT * FROM table WHERE H=1 AND Cl = 1 的问题是它还包括其他情况,例如 C Cl H(即使它有 C=1 ,因为 Cl 和 H 也都是 1,所以选择它)

这就是为什么我试图弄清楚如何在所有其他字段均为 0 的情况下选择它!

最佳答案

这不是一个现实情况。您永远不会拥有无限数量的 int 字段,因为您不能在没有 ALTER 语句的情况下修改表(仅在运行时)。至少,你不应该这样做。

关于MySQL - 选择所有其他列 = 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8650798/

相关文章:

c - C 语言的分子质量计算器程序

mysql - 让 MySQL 用户创建数据库,但只允许访问他们自己的数据库

python - 如何通过与另一列字符串进行比较来对具有真值和假值的字符串列进行分类

mysql - 在更新后在 MySQL 触发器中构建 JSON

mysql - Json 模式字段顺序

python - 值错误: object too deep for desired array in optimize. curve_fit

java - 电子配置逻辑

python - NetworkX 化学 : how to check if a smaller molecular graph A is a valid subgraph of a larger molecular graph B?

mysql - 需要帮助在sql中按时搜索

php - 简单查询中的mysql数据插入问题