繁体   English   中英

MySQL查询-如何在另一个表中合并表

[英]mysql query - how to merge tables in another table

连接结果列中的表时遇到问题。 我有一个有效的查询,该查询使用UNION合并了不同的表,但是当我扩展另一个表时,出现错误消息:“所用的SELECT语句具有不同的列数”

这是我的查询:

(SELECT
    IDNumber,
    CONCAT(LastName, ', ', FirstName, ' ', Middle) as Name,
    CONCAT(EmDesignation, ', ', Department) as Information,
    Image,
    v.PlateNo as PlateNumber
FROM
    tblemployee as e, tblvehicle as v
WHERE 
    v.RFIDNo LIKE '6424823943'
AND
    e.RFIDNo LIKE '6424823943')
UNION
(SELECT 
    IDNumber,
    CONCAT(LastName, ', ', FirstName, ' ', Middle) as Name,
    CONCAT(Course, ', ', Year) as Information,
    Image,
    v.PlateNo as PlateNumber
FROM
    tblstudents as s, tblvehicle as v
WHERE
    v.RFIDNo LIKE '6424823943'
AND
    s.RFIDNo LIKE '6424823943')

我有这个问题。 上面的继续查询

UNION
(SELECT
    Barrier
FROM 
    tblinformation as inf
WHERE
    inf.RFIDNo IN (6424823943)
ORDER BY 
    AttendanceNo DESC LIMIT 1)

错误消息指出问题所在。 只需提高SELECT中的列数,它将可以正常工作。

错误消息是正确的。 NULL添加到第二个查询以匹配列号,它将起作用。

例如:

SELECT
    Barrier,
    NULL,
    NULL,
    NULL,
    NULL
FROM 
    tblinformation as inf
...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM