mysql - 查询以检查相同的单元格值访问表

标签 mysql sql

我创建了一个数据库,其中包含与品尝实验中不同参与者相对应的条目。所有条目都存储在一个表中。每个参与者都是一个家庭的成员,每个家庭的参与者都有一个家庭编号(随家庭递增)(见下图)。

我希望能够检查同一家族中“Child1”、“Child2”等的“母亲”或“父亲”在甜、酸、苦列中的位置是否相同。

(我假设必须运行五个查询,每个查询对应一种口味)。

重申一下,例如,我想检查“Family Number”3 中的“Mother”和“Child1”是否在同一个地方尝到“Bitter”(他们这样做 - “Middle”)。

最佳答案

也许你可以使用这个查询

SELECT tr1.family_number, tr1.relationship, tr2.relationship
FROM taste records tr1
INNER JOIN taste records tr2 on tr1.family_number = tr2.family_number
WHERE (tr1.relationship = 'Father' or tr1.relationship = 'Mother') and
(tr2.relationship = 'Child1' or tr2.relationship = 'Child2' or tr2.relationship = 'Child3')
and tr1.sweet = tr2.sweet and tr1.bitter = tr2.bitter;

关于mysql - 查询以检查相同的单元格值访问表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24305132/

相关文章:

没有任何 JOIN 谓词的 MySQL JOIN

sql - postgres中的聚合

sql - 使用函数的 SQL Server 查询速度非常慢

mysql - 如何将 XML 中某些属性的值相加?

sql - 从默认约束中获取值

sql - PostgreSQL:是否有可能使用触发器删除可以作为更新

php - 当日期字段中有时间和日期时,获取两个日期之间的 SQL 数据

mysql - SQL 格式插入日期

mysql - 如何将大文件加载到 MySQL 中的表中

PHP MySQLI 选择多列返回 null