2016-11-17 84 views
0

我有兩個表'表A'和'表B',我想從表A(10列)中選擇所有列並從表B中選擇1列,以便我有1共有11列(表A中10個,表B中1個)。MySQL單行多列多表

  • 我想避免使用「作爲別名」,並使用原始列名
  • 我的表有沒有共同的ID列
  • 我的兩個SELECT語句返回1行中的每個(1行從表A和1從表B)
  • 我只想從我的結果從第一個選擇語句,並加入第二個選擇語句的結果有多個列(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 
+0

你有一個非常不尋常的要求。你能激勵你爲什麼認爲這是一個好主意嗎? –

回答

1

這是你想要的嗎?

SELECT u.*, p.imageurl 
FROM users u cross join 
    picture p 
WHERE p.profilepicture LIKE '1'; 
+0

無法識別的關鍵字。 (在位置36處的「十字」附近) – user3560827

+0

@ user3560827。 。 。 MySQL絕對支持交叉連接:http://dev.mysql.com/doc/refman/5.7/en/join.html。 –