【问题标题】:How to join two table in oracleoracle如何连接两个表
【发布时间】:2020-12-11 01:25:10
【问题描述】:

我有两个表,USER_TABLE 和 USER_ADDRESSES,如下所述

我想要像下面这样的输出

我已经尝试如下,但由于 USER_TABLE 中的“USER_TRAVELLED_CITY”列而得到重复的行

【问题讨论】:

  • 选择后添加不同的,即select distinct usr.first_name...
  • TABLE1 中有多少条记录的 USERID 为 1001?为什么您希望您的查询返回更少的记录?

标签: sql oracle join select


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    • 2017-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多