Как использовать один запрос вместо двух? - MySQL
Формулировка задачи:
В CMS есть различные типы внутренних объектов.
У каждого объекта есть основные поля, общие для всех объектов (таблица objects). И дополнительные поля (таблица content).
Столбцы таблицы objects есть поля объекта, тут все просто: objects(id, name,..., updated, created)
Столбцы же таблицы content имеют фиксированные названия: content (oid, field, value), в столбце field хранится дополнительное поле, а в value -- его значение.
Соответственно, при выборе по id из objects результатом запроса является строка, а при выборе из content -- таблица, где столбец oid повторяется:
oid field value
3 mail [BLOB - 28 Байт]
3 fio [BLOB - 16 Байт]
3 date [BLOB - 10 Байт]
3 ip [BLOB - 13 Байт]
Можно ли при выборе всех полей объекта использовать всего один запрос (а не выбирать сначала основные поля, а потом дополнительные)? Хочу в ответе получать строку, а не таблицу.
Решение задачи: «Как использовать один запрос вместо двух?»
textual
Листинг программы
mysql_query('SELECT field, value FROM content WHERE oid="'.$id.'"');
Объяснение кода листинга программы
mysql_query- это функция, которая выполняет SQL-запрос к базе данных MySQL.SELECT field, value FROM content- это часть SQL-запроса, которая указывает, какие поля нужно выбрать из таблицыcontent.WHERE oid='.$id.'` - это часть SQL-запроса, которая фильтрует результаты по значению поляoid, равному$id`.$id- это переменная, которая содержит значение, которое нужно использовать в запросе.field, value- это переменные, которые будут использоваться в запросе для выбора полейfieldиvalueиз таблицыcontent.content- это название таблицы, из которой будет производиться выборка.oid- это название поля, по которому будет производиться фильтрация результатов.