我有这样一个有趣的情况。 这里的表名为 “mirror_data”=>缺少一些mysql查询结果
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| id_mir | int(11) | NO | PRI | NULL | auto_increment |
| local | varchar(255) | YES | | NULL | |
| local_mir | varchar(255) | YES | | NULL | |
| remote | varchar(255) | YES | | NULL | |
| remote_mir | varchar(255) | YES | | NULL | |
+------------+--------------+------+-----+---------+----------------+
这里被命名为第二个表 “数据”
+-----------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+-------+
| id | int(11) | NO | | 0 | |
| localParty | varchar(255) | YES | | NULL | |
| other columns ... |
+-----------------+--------------+------+-----+---------+-------+
我从检索数据表的信息,但我想的是,当(从“数据”表中)列localParty等于(来自“mirror_data”的表)本地列,然后从local_mir列(也来自“mirror_data”表)检索信息,否则当标记的列彼此不相等时, localParty。但我想从“数据”表中检索整个信息。
这里是mirror_data插入值=>
+--------+--------+-----------+--------+------------+
| id_mir | local | local_mir | remote | remote_mir |
+--------+--------+-----------+--------+------------+
| 1 | 715715 | Something | NULL | NULL |
| 2 | 1000 | some | NULL | NULL |
+--------+--------+-----------+--------+------------+
,这里是我的代码如何我 “做” 这个=>
select IF(o.localParty=m.local,m.local_mir,o.localParty) FROM data as o, mirror_data as m limit 0,10;
而且这里导致此查询做什么(缺少一些值)=>
+---------------------------------------------------+
| IF(o.localParty=m.local,m.local_mir,o.localParty) |
+---------------------------------------------------+
| Something |
| 715715 |
| 14 |
| 14 |
| Something |
| 715715 |
| Something |
| 715715 |
| 978080 |
| 943080 |
+---------------------------------------------------+
就像你看到数715715是不是在这种情况下,因为在mirror_data TA改变ble是两个值(当他们会更多时,它会更有可能不会收到预期的结果),我如何编写查询来实现我的目标?
只是想要从“数据”表全部信息,而是不断变化的(localparty)如果标记的情况发生(本地= localparty)
非常感谢,请回答一个问题太多,这个查询将会如何,如果我们增加远程,完全相同的列和表,只需重命名本地远程,请回答:) – DaHaKa 2012-01-08 19:55:07
请当你看到答案,谢谢:) – DaHaKa 2012-01-08 20:24:06
@DaHaKa,更新的答案.. – 2012-01-08 21:48:15