繁体   English   中英

如何合并来自两个不同表的数据?

[英]How can I combine data from two different tables?

我正在尝试使用 uid 获取first_namelast_name ,并使用相同的 uid 从 FILE_ATTACH_INFO 表中获取url 我在下面尝试过,但似乎不起作用,因为它们的列数不同。 我怎样才能做到这一点?

    SELECT first_name, last_name 
        FROM `USER` AS a 
        WHERE uid = '00283366-85df-4c1b-9d94-7beafb8d44fd'
UNION 
    SELECT url
        FROM `FILE_ATTACH_INFO`
        WHERE user_id = '00283366-85df-4c1b-9d94-7beafb8d44fd'

我期待得到

first_name   |   last_name   |   url
------------------------------------------------
kim          |     asdf      |  https://qwef.com
Select * FROM `USER`  a JOIN `FILE_ATTACH_INFO` b on a.uid = b.user_id WHERE a.uid = '00283366-85df-4c1b-9d94-7beafb8d44fd'

尝试内部联接...

SELECT a.first_name, a.last_name, b.url 
        FROM USER AS a 
        LEFT OUTER JOIN FILE_ATTACH_INFO b ON a.uid = b.user_id
        WHERE a.uid = '00283366-85df-4c1b-9d94-7beafb8d44fd'

因为你使用了错误的操作,所以你只能在两个表的列相同的情况下应用union。 在这种情况下,您需要在它们共享的列上连接两个表。

SELECT u.first_name, u.last_name, fa.url FROM 
user  u
INNER JOIN file_attach_info  fa
  on u.uid = fa.user_id

试试这个

 SELECT a.first_name,a.last_name,f.url FROM USER AS a INNER JOIN FILE_ATTACH_INFO AS f ON f.user_id=a.uid WHERE 1;

暂无
暂无

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

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