sql - oracle如何连接两个表
问题描述
我有两个表,USER_TABLE 和 USER_ADDRESSES,如下所述
我想要像下面这样的输出
我已经尝试如下但由于 USER_TABLE 中的“USER_TRAVELLED_CITY”列而得到重复的行
解决方案
中的数据user_table
未标准化,因此会产生这些重复的行。
我的建议是修复数据库设计并对其进行规范化。如果这不是一个选项,您可以使用distinct
从结果中删除重复项。此外,并不是隐式连接(子句中有多个表from
)是一种过时的做法,您可能应该使用显式join
子句:
SELECT DISTINCT usr.first_name, usr.last_name, usr.user_id, usr_add.user_addrs
FROM user_table usr
JOIN user_address usr_add ON usr.user_id = usr_add.user_id
WHERE usr.user_id = 1001
推荐阅读
- sql-server - 当我创建存储过程时,它给我的是查询输出,而不是 ssms 中的“命令执行成功”
- regex - 如果字符串包含子字符串,为什么不满足我的条件?
- python - 初始化后字典顺序可以改变吗?
- linux - RH 上“find”命令的奇怪行为
- javascript - 将数据临时存储在电子 js localStorage
- python-3.x - 如何使用 Python3 从 dll 中查找函数名?
- postgresql - 带函数的部分索引不与简单查询一起使用
- c# - SharePoint DateTimeControl 时间范围
- laravel - 使用原始名称保存文件
- testing - 如何使用 Aqueduct 线束测试文件上传?