Как использовать один запрос вместо двух? - 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.'"');

Объяснение кода листинга программы

  1. mysql_query - это функция, которая выполняет SQL-запрос к базе данных MySQL.
  2. SELECT field, value FROM content - это часть SQL-запроса, которая указывает, какие поля нужно выбрать из таблицы content.
  3. WHERE oid='.$id.'` - это часть SQL-запроса, которая фильтрует результаты по значению поляoid, равному$id`.
  4. $id - это переменная, которая содержит значение, которое нужно использовать в запросе.
  5. field, value - это переменные, которые будут использоваться в запросе для выбора полей field и value из таблицы content.
  6. content - это название таблицы, из которой будет производиться выборка.
  7. oid - это название поля, по которому будет производиться фильтрация результатов.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.182 из 5