我有一张表格,如下所示:
--------------------------------------------
|col1 |col2 |col3 |
--------------------------------------------
|123.com |/path/to/234.com|/path/to/456.com|
|234.com |/path/to/123.com| |
|456.com | |/path/to/789.com|
|789.com | | |
--------------------------------------------
是否可以基于colume1上的数据对colume2和colume3进行排序?
决赛桌应该像这样:
--------------------------------------------
|col1 |col2 |col3 |
--------------------------------------------
|123.com |/path/to/123.com| |
|234.com |/path/to/234.com| |
|456.com | |/path/to/456.com|
|789.com | |/path/to/789.com|
--------------------------------------------
答案 0 :(得分:1)
这不是排序问题。您需要自行加入表格才能重新排列行。
对于给定的示例,您可以在以下行中使用一些东西:
SELECT t1.col1,
t2.col2,
t3.col3
FROM elbat t1
LEFT JOIN elbat t2
ON t2.col2 LIKE concat('%', t1.col1)
LEFT JOIN elbat t3
ON t2.col3 LIKE concat('%', t1.col1);
但是,如果行中的数据不属于同一类,那似乎更像是一个严重的设计问题。