[英]Mysql subquery not displaying rows
這是我的查詢:
SELECT a.vardas, a.pavarde FROM `y6fdt_igym_abonementai` AS a
INNER JOIN
(
SELECT max(galiojaiki) gal, id, abonementas FROm y6fdt_igym_sutartys
) c
on c.abonementas = a.id
為什么我只能看到a.vardas和a.pavarde列。 但不是id,來自子查詢的abonementas嗎?
如果要查看這些列,則必須將它們添加到主SELECT
子句中。
SELECT a.vardas, a.pavarde, c.gal, c.id, c.abonementas
FROM `y6fdt_igym_abonementai` AS a
INNER JOIN
(
SELECT max(galiojaiki) gal, id, abonementas FROm y6fdt_igym_sutartys
) c
on c.abonementas = a.id
請注意,子查詢中的id
和abonementas
列將不會來自具有max(galiojaiki)
。 它只會從表中的某些隨機行中提取它們。 如果需要這些特定值,則需要使用:
SELECT a.vardas, a.pavarde, c.gal, c.id, c.abonementas
FROM `y6fdt_igym_abonementai` AS a
FROM y6fdt_igym_sutartys AS c ON c.abonementas = a.id
INNER JOIN
(
SELECT max(galiojaiki) AS maxgal
FROm y6fdt_igym_sutartys
) d on c.galiojaiki = d.maxgal
更改
SELECT a.vardas, a.pavarde FROM `y6fdt_igym_abonementai` AS a
...
SELECT max(galiojaiki) gal, id, abonementas FROm y6fdt_igym_sutartys
至
SELECT a.vardas, a.pavarde FROM `y6fdt_igym_abonementai` a
...
SELECT max(c.galiojaiki) c.gal, c.id, c.abonementas FROm y6fdt_igym_sutartys c
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.