簡體   English   中英

MySQL子查詢不顯示行

[英]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

請注意,子查詢中的idabonementas列將不會來自具有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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM