[英]How can I combine data from two different tables?
我正在尝试使用 uid 获取first_name
和last_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.