簡體   English   中英

如何將兩個MySQL列合並為一列?

[英]How to combine two MySQL columns to one column?

我想轉換這個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 / fff9cf / 1

嘗試:

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

希望我的語法正確。

基本上你想做兩個查詢並合並結果,這是UNION所做的。

編輯(請參閱UNION和UNION ALL之間差異的其他答案)。

在使用Union之前,使用As將列重命名為gt相同的結構

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

我想你需要使用UNION:

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

如果您不想要重復,可以刪除使用UNION而不是UNION ALL。

- 編輯

如上所述,如果您的意圖也是為了對這些結果進行ORDER,只需添加一個ORDER BY子句並為您的列添加別名:

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

祝好運。

你需要工會

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

從我對你想要的concantinate title1 + title2然后訂購的問題的理解。

我不明白為什么每個人都在使用工會

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

會做的工作

編輯:無法從iPhone寫入代碼格式化的文本。 謝謝fthiella

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM