[英]MySQL subquery select specific column
我有一個返回3列的子查詢。 我不能擺脫他們。 我只想對父查詢使用一列。
例如。
SELECT * FROM table_a WHERE id = (SELECT a,id,b FROM table_b LIMIT 1);
我只想從table_b
獲取id
。
我正在尋找以下方面的東西:
SELECT * FROM table_a WHERE id = (SELECT a,id,b FROM table_b LIMIT 1)[id];
我將如何完成?
怎么這樣:
SELECT * FROM table_a WHERE id =
(select id from
(SELECT a,id,b FROM table_b LIMIT 1)a);
SELECT *
FROM table_a
WHERE id IN
(
SELECT a FROM tableB limit 1
UNION
SELECT id FROM tableB limit 1
UNION
SELECT b FROM tableB limit 1
)
SELECT * FROM table_a, (SELECT a,id,b FROM table_b LIMIT 1) temp_b where table_a.id = temp_b.id;
這個結果符合您的想法嗎?
我認為實現這一目標的最佳方法是:
SELECT *
FROM table_a
inner join
(
SELECT a as id FROM tableB
UNION
SELECT id FROM tableB
UNION
SELECT b as id FROM tableB
) tempB on (table_a.id=tempB.id)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.