首页 > 解决方案 > SQL从同一列中选择两个值并同时显示

问题描述

我不知道如何更好地解释它,所以让我举个例子。

在此处输入图像描述

这是我的代码:

SELECT nome,idc,nome_local,idade
FROM ciclista, local,parente
WHERE idade < 18
AND nome_local LIKE '%Covil%'
AND ciclista.idl_residencia=local.idl
AND ciclista.idc=parente.idc_b
AND parente.tipo LIKE 'm%'

我需要显示另一个名称(来自 ciclista 的名称,其中 ciclista.idc=parente.ida_a)。基本上我想在结果前面显示父母的名字。在此处输入图像描述

标签: sql

解决方案


只需给它另一个名称,您就可以使用同一个表两次。为了获得儿子,您将表命名为 c1,为了获得父母,您将其命名为 c2,然后只需应用您提到的条件(ciclista.idc = parente.ida_a,例如 c2.idc = parente.ida_a)。只要允许名称,名称就可以是您想要的任何名称

SELECT c1.nome, c1.idc, nome_local, c1.idade, c2.nome
FROM ciclista c1, ciclista c2, local, parente
WHERE c1.idade < 18
AND nome_local LIKE '%Covil%'
AND c1.idl_residencia = local.idl
AND c1.idc = parente.idc_b
AND c2.idc = parente.ida_a
AND parente.tipo LIKE 'm%'

推荐阅读