Как использовать один запрос вместо двух? - 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
- это название поля, по которому будет производиться фильтрация результатов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д