mysql - 连接MySQL中的3个表以选择字段

标签 mysql

我的数据库结构如下图所示

enter image description here

我想选择所有的分区,包括分区名称、城市名称和省份名称。我的代码是这样的:

SELECT province.name as province, city.name as city, subdistrict.name as subdistrict 
    from provinces province, cities city, subdistricts subdistrict 
    WHERE province.id = city.id AND city.id = subdistrict.id;

但我只得到了省份数据的总数,而不是所有街道数据

最佳答案

您的基本 SQL 缺少逗号,但通常应该可以工作。我强烈建议使用更现代的连接语法:-

SELECT province.name AS province, 
        city.name AS city, 
        subdistrict.name AS subdistrict 
FROM provinces province
INNER JOIN cities city
ON province.id = city.id 
INNER JOIN subdistricts subdistrict 
ON city.id = subdistrict.id;

但是,根据您的描述,我不确定您是否正在尝试进行一些聚合处理?

关于mysql - 连接MySQL中的3个表以选择字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41545317/

相关文章:

php - 在 codeigniter 上的选择查询中选择错误

php - 我必须在 mysql 中使用 $date% 而不是 date%

mysql - 将汇总行分解为 R 中的单独行

mysql - LIKE 子句中的 SQL 注入(inject)攻击

php - 在 Yii 中将当前日期加 1 个月

MYSQL - 使用 IN 运算符返回查询中的所有行

MySQL 使用 IN 优化查询

mysql - 在值不为零的查询中从 MySQL 获取字段名称

php - 表单向数据表中插入空白行

mysql - 在 sql 字符串中使用 bash 参数的脚本问题