我对 SQL SELECT 查询使用以下语法从多个表中提取数据(使用 Sequel Pro):
select Study_Results.CASNumber, Study_Results.Dose, Study_Results.Units, Study_Results.Effects, Studies.Species, Studies.Route, Studies.Result, ToxData_References.BriefReference, Studies.Study, Studies.Summary
from Study_Results, Studies, ToxData_References
where Study_Results.ProtocolID = Studies.ProtocolID
AND Studies.Location = ToxData_References.Location
AND Studies.Study = "Local Lymph Node Assay"
order by Study_Results.CASNumber
查询运行并没有错误地完成,但是当我查看结果时,存在数据不匹配的记录副本——即,不同的记录似乎在查询结果中被错误地组合。
问题:我的语法是否有问题导致数据不匹配?
这是一些示例输出(实际和预期)
一行是正确的: 103694-68-4 10.0000 % NOE mouse skin Symrise,2002c Local Lymph Node Assay 在研究条件下,测试材料不太可能是皮肤致敏剂。49523 45957
但是我得到的第二行将相同的 Study_Results.CASNumber 应用于来自不同 Study_Results.CASNumber 的数据:
103694-68-4 10.0000 % NOE 小鼠皮肤 Symrise,2002c 局部淋巴结检测 使用丙酮中浓度为 1%、3% 和 10% w/v 的测试材料导致同位素掺入量增加 3 倍以上在 3% 和 10% w/v 浓度下。因此,测试材料被证明是一种皮肤致敏剂,证实了用于研究的协议的有效性。49523 45957
上述数据实际上适用于不同的 CASNumber。