SQL 查询以查找包含英语和其他翻译词的结果集

Posted

技术标签:

【中文标题】SQL 查询以查找包含英语和其他翻译词的结果集【英文标题】:SQL query to find result set with english and other translated words 【发布时间】:2022-01-24 05:20:10 【问题描述】:

2 个表为 EngTr,其中包含以下数据-

Eng table:-                                      Tr table:-

sn   val1                                         sn  val2   trns
--   ---                                          --  ---    ----
 1   one                                          2   zwei    de
 2   two                                          2   dos     es
 3   three                                        3   drei    de
 4   four                                         4   cuatro  es
 5   five                                         4   quatro  it

我想获得已翻译为德语 (DE) 以及未翻译的值的结果(如 1、5)。所以我想要像下面这样的输出-

sn  val1   val2
--  ---    ----
 1  one    
 2  two   zwei
 3  three drei
 5  five

【问题讨论】:

【参考方案1】:

使用左连接:

SELECT e.sn, e.val1, t.val2
FROM Eng e
LEFT JOIN Tr t
    ON t.sn = e.sn AND t.trns = 'de';

请注意,从 SQL 的角度来看,onefour 实际上是相同的,因为它们都没有德语翻译。因此,我的回答报告了他们两个。

【讨论】:

以上是关于SQL 查询以查找包含英语和其他翻译词的结果集的主要内容,如果未能解决你的问题,请参考以下文章

sql查询 按照规定的顺序返回结果集。

VB6 与 C# 以不同顺序返回的 SQL 结果集

如何以正确的方式处理结果集?

mysql 查询结果,先查含有某字段的数据,再查其他字段的数据

如何在 SQL 查询中获取结果集的字节大小?

如何在同一个表上组合两个查询以在 MySQL 中获得单个结果集