如何通过共同列联结两张表?(含错误SQL修正需求)
修正后的SQL语句及说明
基础修正版
SELECT * FROM "customer" INNER JOIN "customer_address" ON "customer"."custcode" = "customer_address"."custcode" LIMIT 1000
错误点说明
- 标识符引用错误:SQL中表名、列名这类标识符不能用单引号包裹(单引号仅用于字符串值),需改用双引号(部分数据库如MySQL支持反引号`,效果一致)。
- 关联条件错误:原语句的ON子句中两边都是
customer.custcode,属于无效关联,必须将其中一侧改为customer_address.custcode,才能通过共同的custcode字段匹配客户与对应地址。
优化建议(可选)
如果不需要导出所有字段,建议明确指定字段列表,避免重复列(比如custcode会在两张表中重复出现),示例:
SELECT -- 客户表字段 customer.custcode, customer.name, customer.phone, -- 地址表字段 customer_address.province, customer_address.city, customer_address.street FROM "customer" INNER JOIN "customer_address" ON "customer"."custcode" = "customer_address"."custcode" LIMIT 1000
内容的提问来源于stack exchange,提问作者vlassis politis
相关产品推荐
相关产品推荐

