gpt4 book ai didi

mysql - 如何关联两个表以显示名称行而不是 mysql+pdo 中的 id

转载 作者:行者123 更新时间:2023-11-29 00:29:32 24 4
gpt4 key购买 nike

我不知道如何在显示表 1 的结果时显示表 2 中行的名称而不是他的 id。

让我解释一下:

我在 innoDB 中有这个表:

- PACIENTES(table name).
* id (int)
* nombre (varchar)
* apellido (varchar)
* pais (varchar)
* departamento (varchar)
* ciudad (varchar)

- lista_paises(table name).
* id (int)
* opcion (varchar)

- lista_departamento(table name).
* id_departamento (int)
* opcion (varchar)
* relacion (int)-----relation with table lista_paises----

- MUNICIPIOS(table name).
* id_municipio (int)
* id_departamento (int)-----relation with table lista_departamento----
* municipio_nombre (varchar)

在表 pacientes 中,我保存了 lista_paises、lista_departamento、municipios 等的 ID

----id----nombre-----apellido-----pais----departamento----ciudad

  1    Juan    Perez     10      178        198

我需要在页面中显示

 id   nombre  apellido     pais        departamento        ciudad

1 Juan Perez El Salvador Santa Ana Santa Ana

我有这句话(另一个与 departamento 相同的句子)但不显示真正的 departamento 或真正的 ciudad...总是只显示一个 departamento 或 municipio id 1

<?
$sql = "SELECT PACIENTES.ciudad, MUNICIPIOS.municipio_nombre
FROM PACIENTES INNER JOIN MUNICIPIOS
ON MUNICIPIOS.id_departamento = PACIENTES.ciudad";
$stmt = $conn->prepare($sql);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$municipio_nombre = $row['municipio_nombre'];
?>

<td><? echo $municipio_nombre ?></td>

如果我的问题太长或不太理解,我很抱歉,但老实说,我不知道如何更好地解释这个问题......我希望你能帮助我

最佳答案

您在表中有 nombre_municipio,在查询中有 MUNICIPIOS.municipio_nombre

此外 ON MUNICIPIOS.id_departamento = PACIENTES.ciudad 正在比较 varchar 和 int

要加入 MUNICIPIOSPACIENTES,您需要在 MUNICIPIOS 表中包含与 PACIENTES.id 相关的字段,例如(MUNICIPIOS.id_pacientes)

$sql = "SELECT PACIENTES.ciudad, MUNICIPIOS.municipio_nombre 
FROM PACIENTES
INNER JOIN MUNICIPIOS
ON PACIENTES.id = MUNICIPIOS.id_pacientes";

关于mysql - 如何关联两个表以显示名称行而不是 mysql+pdo 中的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17262938/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com