我有這樣一個有趣的情況。 這裏的表名爲 「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