在我正在进行的项目中,我被卡住了来自Hades的桌子结构。有两件事要记住:MySQL查询可以拉我正在寻找的数据?
- 我现在无法更改表结构。我暂时坚持下去。
- 查询是动态生成的,不是硬编码的。所以,当我要求一个可以提取这些数据的查询时,我真正努力的是一个将生成我需要的查询的算法。
希望我能解释这个问题,不要让你的眼睛眩晕,你的大脑内爆。
我们沿着这些线路,看起来(简体)的实例表:
Instances InstanceID active 1 Y 2 Y 3 Y 4 N 5 Y 6 Y
然后,有多个数据表沿着这些线路:
Table1 InstanceID field1 reference_field2 1 John 5 2 Sally NULL 3 Fred 6 4 Joe NULL Table2 InstanceID field3 5 1 6 1 Table3 InstanceID fieldID field4 5 1 Howard 5 2 James 6 2 Betty
请注意,reference_field2在表1中包含对另一个实例的引用。 Table2中的Field3稍微复杂一些。它包含了一个表3. fieldID
我需要的是一个查询,将让我的列表如下:
InstanceID field1 field4 1 John Howard 2 Sally 3 Fred
的问题是,在查询目前我有,我没有得到弗雷德因为在表3为fieldID 1和实例id 6.没有条目所以,最好的名单我已经能够获得迄今是
InstanceID field1 field4 1 John Howard 2 Sally
在本质上,如果在表1的字段2项,并且表3中没有包含field2中的instanceID和字段ID contai的条目在field3中,我没有从field1获取数据。
我已经看过连接,直到我在脸上变得蓝色,而当table3没有条目时,我看不到处理这种情况的方法。
MySQL允许OUTER JOINS? – FrustratedWithFormsDesigner 2010-06-16 15:20:54