【问题标题】:MySQL combine rows from multiple tables into on rowMySQL 将多个表中的行组合成一行
【发布时间】:2014-05-01 17:00:15
【问题描述】:

我正在尝试将数据库中两个不同表中的两列合并为一列。

cust_tbl(表 1):

JL_JOB_NO | 
-----------
1         |  
2         |

项目(表 2)

prjID     | 
-----------
3         |  
4         |

我希望我的输出是:

new       | 
-----------
1         |  
2         |
3         |
4         |

我试过了:

SELECT 'JL_JOB_NO' AS 'new'
FROM 'cust_tbl'
UNION
SELECT 'prjID' as 'new'
FROM 'projects';

【问题讨论】:

    标签: mysql join union


    【解决方案1】:

    使用反引号 (`) 而不是单引号(或直接删除它们):

    试试这个:

    SELECT `JL_JOB_NO` AS `new`
    FROM `cust_tbl`
    UNION
    SELECT `prjID` as `new`
    FROM `projects`;
    

    或者只是:

    SELECT JL_JOB_NO AS new
    FROM cust_tbl
    UNION
    SELECT prjID as new
    FROM projects;
    

    旁注: 反引号用于表和列标识符,但仅当标识符是 MySQL 保留关键字或标识符包含空白字符或超出限制的字符时才需要set 通常建议尽可能避免使用保留关键字作为列或表标识符,从而避免引用问题。

    在以下情况下,反勾号是必要的:

    SELECT id, `my name`, `another field` , `field,with,comma`
    

    【讨论】:

      【解决方案2】:

      使用 `(反引号)代替 '(单引号)或删除 '(单引号)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-16
        • 2019-08-17
        相关资源
        最近更新 更多