【发布时间】:2011-03-04 12:47:07
【问题描述】:
在我正在进行的项目中,我被 Hades 的表格结构所困扰。要记住两件事:
- 我现在无法更改表结构。我暂时坚持下去。
- 查询是动态生成的,不是硬编码的。因此,虽然我要求一个可以提取这些数据的查询,但我真正致力于的是一种能够生成我需要的查询的算法。
希望我能解释这个问题,而不会让你的眼睛发呆,让你的大脑崩溃。
我们有一个实例表,看起来(简化)如下:
实例 InstanceID 活动 1年 2年 3岁 4 牛 5年 6 是那么,沿着这些方向有多个数据表:
表格1 InstanceID field1 reference_field2 约翰一书 5 2 莎莉 NULL 3 弗雷德 6 4 乔 NULL 表2 InstanceID 字段3 5 1 6 1 表3 InstanceID fieldID field4 5 1 霍华德 5 2 詹姆斯 6 2 贝蒂请注意,Table1 中的 reference_field2 包含对另一个实例的引用。 Table2 中的 Field3 稍微复杂一些。它包含表 3 的 fieldID。
我需要的是一个查询,它会给我一个如下列表:
InstanceID 字段 1 字段 4 1 约翰霍华德 2 莎莉 3 弗雷德问题是,在我目前的查询中,我没有得到 Fred,因为在 Table3 中没有字段 ID 1 和 InstanceID 6 的条目。所以,到目前为止我能得到的最好的列表是
InstanceID 字段 1 字段 4 1 约翰霍华德 2 莎莉本质上,如果表1中有字段2的条目,而表3中没有字段2包含instanceID和字段3包含字段ID的条目,我没有从字段1中获取数据.
我已经查看了连接,直到我脸色发青,当 table3 没有条目时,我看不到处理这种情况的方法。
【问题讨论】:
-
MySQL 是否允许外部连接?