Я хочу объединить следующие запросы в один запрос:
SELECT val FROM resource WHERE facet="all" and urlId="1234"
SELECT val FROM resource WHERE facet="your" and urlId="1234"
SELECT val FROM resource WHERE facet="base" and urlId="1234"
О - есть несколько «граней» для каждого URL. Но только один ряд на «грань». Эта таблица была настроена кем-то другим. Мы уезжаем. Очевидно, что было бы лучше иметь столбец для каждого «фасета» и отдельной строки, но для этого уже слишком поздно.
Я могу сделать это с несколькими запросами, но хотел бы иметь более быстрое / лучшее решение.
<code><pre>
mysql> describe resource;
+-------------+-------------------------------------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------------------------------+------+-----+-------------------+-----------------------------+
| resId | int(11) unsigned | NO | PRI | NULL | auto_increment |
| urlId | int(11) | NO | MUL | NULL | |
| sectionId | int(3) | YES | | NULL | |
| mode | enum('archive','live','edit','dev') | NO | | edit | |
| facet | varchar(50) | NO | MUL | NULL | |
| typeId | int(1) | NO | | 1 | |
| val | mediumtext | NO | | NULL | |
| itemOrder | tinyint(2) | NO | | 1 | |
| editorId | varchar(30) | NO | | NULL | |
| created | datetime | NO | | NULL | |
| lastUpdated | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
+-------------+-------------------------------------+------+-----+-------------------+-----------------------------+
11 rows in set (0.05 sec)
Помните: в советской России SQL запрашивает вас.