MySQL单行多列多表

时间:2016-11-17 19:24:20

标签: mysql

我有两个表'表A'和'表B',我想从表A中选择所有列(10列)并从表B中选择1列,这样我就有1行,共有11列(表A中10个,表B中1个)。

  • 我想避免使用'As alias_name'并使用原始列名
  • 我的表格没有公共ID列
  • 我的select语句都返回1行(表A中的1行和表B中的1行)
  • 我只想从第一个select语句中获取结果,并将结果与​​第二个select语句连接成多列(1行)而不是单个列(所以我不会使用UNION,也许是INNER JOIN但不确定怎么用?)

以下陈述接近我的要求 - 它从2个表中返回2列(alias_name,alias_imageurl):

SELECT (SELECT name FROM `users`) AS alias_name,(SELECT imageurl FROM `pictures` WHERE profilepicture LIKE '1') AS alias_imageurl

上面的问题(除了被强制使用列名的别名)是我只能从表A返回1列而不是全部,因为下面的查询返回错误:操作应该包含1列

SELECT (SELECT * FROM `users`),(SELECT imageurl FROM `pictures` WHERE profilepicture LIKE '1') AS alias_imageurl

1 个答案:

答案 0 :(得分:1)

这是你想要的吗?

SELECT u.*, p.imageurl
FROM users u cross join
     picture p
WHERE p.profilepicture LIKE '1';
相关问题