【问题标题】:Query table based on the value of another tables column根据另一个表列的值查询表
【发布时间】:2020-04-07 04:11:39
【问题描述】:

我对数据库具有只读访问权限,并且有两个表包含我需要的信息。两个表在 a 行中对一个帐户的推荐人具有相同的数字。我想查询表 1 中所有帐户的结果,这些帐户在 B 列中具有“AD”,并且该帐户在表 2 的 C 列中具有值“4”。下面是一个示例。

table 1  |
-------- | 
A | B |  |
_______  |
1  AC    |
2  AD    |
3  AC    |
4  AD    |
___________
table 2   |
--------  | 
A | B | C |
__________|
1  AB  4  |
2  AB  5  |
3  AB  4  |
4  AB  4  |

我已经尝试过查询

SELECT * FROM Table 1 WHERE column B = 'AD' and WHERE column C = '4' FROM TABLE 2

【问题讨论】:

    标签: sql database oracle datatable


    【解决方案1】:

    您可以改用内部联接, 像这样:

     SELECT 
      t1.* 
     FROM 
      Table1 t1 JOIN Table2 t2 ON t1.A = t2.A
     WHERE
      t2.C = 4 AND t1.B = 'AD'
    

    【讨论】:

    • 现在可以说我有第三张桌子了,我会写连接部分吗?我会有“AND Table3 t3 on t1.A = t3.A”和 WHERE 语句的末尾“AND t3.C = 'de'”
    • 当然,您可以将任何其他表添加到此连接中,其中 A 列存在于新表中
    【解决方案2】:

    这里没有足够的信息让我帮忙。两个表之间没有共同的数据来链接它们。

    您上面的查询缺少两个表之间的连接,您只需声明一次 where 子句,可以使用“和.....”添加其他条件

    【讨论】:

    • 两个表中的A列是相同的帐号。
    猜你喜欢
    • 1970-01-01
    • 2018-07-02
    • 1970-01-01
    • 2020-10-10
    • 2012-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多