php - 给定行名 (m),在 MySQL 数据库中作为 PHP 查询的一部分,当 (m,n)=x 时查找列名 (n)

标签 php mysql database

我正在建立一个网站作为神经系统疾病的诊断辅助工具。它以 html 编码并通过 PHP 与 MySQL 数据库通信。向网站提供信息的主表的结构如下: 该图显示了表结构,其中行代表神经系统疾病,列提供与这些疾病相关的症状信息

Image

上表可以使用以下 MySQL 代码重现:


CREATE TABLE IF NOT EXISTS my_table (
    `Condition` VARCHAR(22) CHARACTER SET utf8,
    `Diarrhoea` INT,
    `Headache` INT,
    `Hyporeflexia` INT,
    `Hypoaesthesia_Spinothalamic` INT
);
INSERT INTO my_table VALUES
    ('Abetalipoproteinaemia',1,NULL,1,NULL),
    ('Caffeine toxicity',1,1,NULL,NULL),
    ('Vitamin B12 deficiency',NULL,NULL,1,2);

SELECT * FROM my_table;

单元格值如下:

  • 如果情况和症状相关,(m,n)=1
  • (m,n)=2 如果情况和症状无法关联。此症状的存在排除了该情况作为可能的诊断。
  • 如果不存在信息或症状和状况不相关,则(m,n)=null

我正在努力编写一个 SQL 查询,该查询将识别特定条件 (m) 的所有列 (n),其中单元格的值 (m,n) = 2。

到目前为止,我的阅读强调了有关数据透视表的想法(我不知道如何使用它们来解决这个问题)和数据库规范化,我认为这是不可能的,因为我正在运行其他查询在同一张 table 上。

基于上表的示例:

  • 患者出现反射减退
  • SQL 查询确定这可能是由“无β脂蛋白血症”或“维生素 B12 缺乏症”引起的 - 这一切都已经正常了
  • 我想确定任何已识别的病症(无β脂蛋白血症和维生素 B12 缺乏症)是否具有排除诊断的症状(该行中的任何单元格 = 2),并返回该病症所属的任何列(症状)的名称案件。
  • 对 SQL 数据库的查询表明,如果存在脊髓丘脑感觉减退,则维生素 B12 缺乏症将被排除在可能的诊断之外 - 这将反馈到 html 显示。

任何帮助将不胜感激 - 感谢您的宝贵时间!

最佳答案

我认为像这样排列数据会更常见 - 对于任何拼写错误或糟糕的术语表示歉意,但如果你支付花生......

syptom                 condition                   exclusion
Abetalipoproteinaemia  Diarrhoea                           0
Abetalipoproteinaemia  Hyporeflexia                        0
Caffeine toxicity      Diarrhoea                           0
Caffeine toxicity      Headache                            0
Vitamin B12 deficiency Hyporeflexia                        0    
Vitamin B12 deficiency Hypoaesthesia Spinthalamic          1

然后,您将进一步采取一两个步骤,并获得一张症状表、一张情况表以及一张说明哪种症状与哪种情况相关以及如何相关的表。

关于php - 给定行名 (m),在 MySQL 数据库中作为 PHP 查询的一部分,当 (m,n)=x 时查找列名 (n),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56497892/

相关文章:

php - 使用 jQuery Ajax 和准备好的语句将数据插入 MySQL 表时出现问题

php - 在 laravel 项目中上传到 linux 服务器时出现问题

mysql - 我们可以将电子邮件作为mysql中的唯一键吗?

MySQL 连接所有列

php - Magento如何从一家商店的价格中去除小数

java - 如何将使用标准获取的标准数据插入 hibernate 中的另一个表

mysql - SQL Join 只返回 1 行

php - 在存储到数据库之前批准信息?

database - 如何安全地存储我的 CouchDB 管理员密码?

php - 来自同一浏览器的 laravel 和多 session