Intereting Posts
Отправка JSON jQuery Ajax на PHP и обратно В чем смысл предупреждений «Назначение в состоянии» в среде Zend Studio IDE? Использовать образец прототипа или нет php $ _GET и неопределенный индекс Извлечение определенных файлов из ZIP в PHP Создание индекса с помощью Elasticsearch 5.0 вызывает исключение Bad Request phpmyadmin – по умолчанию вместо структуры Проверка электронной почты через электронную почту и PHP? PHP: проверьте, пустые ли какие-либо опубликованные vars – форма: все поля обязательны для заполнения Каков наилучший способ передать HTML-код для встраивания через rss-канал в rss-парсер в php? Как создать новую запись с фотографией, прикрепленной в WordPress с помощью XMLRPC? Codeigniter Session Данные недоступны на других страницах после входа в систему Неупорядоченный список – позиция позиции списка Предупреждение: openssl_pkcs7_sign (): ошибка получения закрытого ключа с использованием WAMP В htaccess я хотел бы заменить символы подчеркивания дефисом, а затем перенаправить пользователя новый URL-адрес

Как объединить два столбца MySQL в один столбец в PHP?

Я хочу преобразовать эту таблицу mysql:

title1 | title2 |type -------+--------+---- qwe1 | qwe2 | 3 asd1 | asd2 | 7 

к этой таблице в php

 title | type ------+----- asd1 | 7 asd2 | 7 qwe1 | 3 qwe1 | 3 

но я не знаю, как правильно упорядочить таблицу PHP по первому столбцу. Есть идеи?
Заранее спасибо.

(это код, который я использую в настоящее время)

 $sql = "SELECT * FROM table ORDER BY title1, title2"; $pager = new PS_Pagination( $dbh, $sql, 3, 4, null );//pagination class $rs = $pager->paginate(); while ($row = $rs->fetch(PDO::FETCH_ASSOC)){ echo "<tr>"; echo "<td>{$row['title1']}</td>"; echo "<td>{$row['type']}</td>"; echo "</tr>"; echo "<tr>"; echo "<td>{$row['title2']}</td>"; echo "<td>{$row['type']}</td>"; echo "</tr>"; } echo "</table>"; 

В самом SQL вы можете сделать это с помощью UNION . И используйте ORDER BY для всего запроса!

 SELECT `title1` AS `title`, `type` FROM `table` UNION SELECT `title2` AS `title`, `type` FROM `table` ORDER BY `title` ASC 

Вывод

 +-------+------+ | TITLE | TYPE | +-------+------+ | asd1 | 7 | | asd2 | 7 | | qwe1 | 3 | | qwe2 | 3 | +-------+------+ 

Сценарий: http://sqlfiddle.com/#!2/ff9cf/1

пытаться:

 SELECT 'title1' AS 'title', 'type' from 'table' UNION SELECT 'title2' AS 'title', 'type' from 'table' ORDER BY 'title' 

Надеюсь, я правильно понял синтаксис.

По сути, вы хотите сделать два запроса и объединить результат, что и делает UNION.

EDIT (см. Другой ответ на разницу между UNION и UNION ALL).

Использование Как переименовать столбцы в gt той же структуры, прежде чем использовать Union

 SELECT title1 as title, type FROM YourTable UNION ALL SELECT title2 as title, type FROM YourTable 

Вам нужен союз

т.е.

 select * from (select title1 as title, type from table union select title2 as title, type from table) order by title 

Я думаю, вам нужно использовать UNION:

 SELECT title1, type FROM YourTable UNION ALL SELECT title2, type FROM YourTable 

Если вы не хотите дублировать, вы можете удалить UNION вместо UNION ALL.

–РЕДАКТИРОВАТЬ

Как было предложено, если ваши намерения были ЗАКАЗАТЬ эти результаты, просто добавьте предложение ORDER BY и добавьте псевдоним в свою колонку:

 SELECT title1 title, type FROM YourTable UNION ALL SELECT title2 title, type FROM YourTable ORDER BY title 

Удачи.

Из моего понимания вопроса, который вы хотите конкретизировать title1 + title2, а затем закажите.

Я не понимаю, почему все используют союзы

 Select concat(title1,title2) title, type from yourTable order by title asc 

Сделал бы работу

Редактировать: can not писать код форматированный текст из iphone. Благодарю fthiella