繁体   English   中英

如果表A中的列A与表B中的列B相等,则从两个表(表A和b)中获取输出

[英]get output from two tables(table A and b) if column A from table A is equal to column B from Table B

所以我有两个表A和B,两个表都有一个列地址。 表A具有id1列,表B具有id2列。 如果id1和id2列中的值相同,我想获取address列(可以是表B)。 如何在sql命令中执行此操作? 值得一提的是,如果这些列相同,则地址也将相同或相似,因此地址可以来自任何一个表。 我对sql非常陌生,将非常感谢您的帮助。 提前致谢

您应该尝试这样:

Select address 
from tablea as a, table b as b 
where b.id =a.id

我假设表1中的地址可能会丢失,否则,只需选择该字段即可。 我添加了一个case语句来处理以防万一(heh),但如果没有,则可以将整个位替换为a.address

Select a.id1, 
     case when a.address is not null 
        then a.address 
        else b.address end as new_address.
from Table1 A, Table2 B
where a.id1 = b.id2

另外,如果您同时发生了内部联接和外部联接(或只是很多联接),那么您将需要添加更明确的联接条件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM