我有一個下表名爲[客戶]列和值如下:MySql的自引用查詢
+--------+-----------+--------------+----------------+
| uid | client_id | client_input | input_value |
+--------+-----------+--------------+----------------+
| 1 | 22 | City | Seattle |
+--------+-----------+--------------+----------------+
| 2 | 45 | City | Ojai |
+--------+-----------+--------------+----------------+
| 3 | 22 | State | OR |
+--------+-----------+--------------+----------------+
| 4 | 45 | State | CA |
+--------+-----------+--------------+----------------+
| 5 | 65 | City | Orlando |
+--------+-----------+--------------+----------------+
| 6 | 74 | State | AB |
+--------+-----------+--------------+----------------+
| 7 | 65 | State | FL |
+--------+-----------+--------------+----------------+
| 8 | 12 | City | Los Angeles |
+--------+-----------+--------------+----------------+
| 9 | 12 | State | CA |
我需要PHP/MySQL查詢這將列表中的所有城市存在於input_value列處於'CA'狀態。顯然,常見的標識是CLIENT_ID這始終是一個比賽,因爲如果客戶是在「洛杉磯」相同CLIENT_ID也是其中包含「CA」在將input_value列中的值排。這張桌子有超過800萬行,任何快速表演的Equerry都受到高度讚賞。
我的腦袋炸了,截止日期臨近,不能改桌設計,請幫忙!
撥弄上面的表格:http://sqlfiddle.com/ #!2/7ed3f。你能爲你的表顯示一個'create table'語句嗎?(看看它是如何被索引的)? – biziclop
所以你想要每個客戶的所有加州城市?我不明白。 – Sebas