mysql - 有没有办法按照在子句中输入的顺序显示 INNER JOIN 条目?

标签 mysql sql

我是 MySQL 的初学者,我自己创建了一种类似 google translate 的翻译服务。问题是查询没有按照我输入的方式显示,而是它们似乎按 ID 列排序。

我已经尝试(以我有限的知识)研究建立关系等的不同方式,以显示不同语言的等价词。现在我开始尝试使用 INNER JOIN 子句来显示和“构造”句子。

SELECT swedish.word,
       german.word,
       german.swear,
       swedish.swear,
       swedish.id
FROM   swedish
       INNER JOIN german
               ON swedish.id = german.id
WHERE  swedish.word = "Hej"
        OR swedish.word = "Mitt"
        OR swedish.word = "Namn"
        OR swedish.word = "Är"; 

这将在德语单词旁边显示瑞典语单词,也就是创建句子,但它现在会按照我输入的顺序显示,而是按 ID 列排序,这会混合单词。有什么解决办法吗?

这是结果的图像,按 ID 排序:

enter image description here

我考虑过使用 ORDER BY 和某种临时值,然后按它排序,但我不确定如何只为选定的条目/行实现和自动递增该值。

我正在使用 OR 语句在同一结果中启用多个条目,因为括号(在其他教程中看到)给我语法错误。

此外,如果有更好的方法,请告诉我!

编辑:我想澄清一下,我知道这不是创建交易服务的可持续解决方案,我只是认为这将是一种有趣的方式,可以让您更多地了解如何连接和使用不同的服务表格等

最佳答案

您可以使用 FIND_IN_SET

ORDER BY FIND_IN_SET(swedish.word, 'Hej,Mitt,Namn,Är');

关于mysql - 有没有办法按照在子句中输入的顺序显示 INNER JOIN 条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55903352/

相关文章:

php - 如果 Post 值不为空则更新数据库

php - 我正在使用“添加查询”创建 PHP OOP 连接

如果另一张表上不存在特定行,则MySQL有条件地插入到一张表中

mysql - 按城市分组年龄

sql - Oracle 中的 Order By 导致 ORA-01791 : not a SELECTed expression

sql - PGAdmin 从哪里获取估计的行数?

MySQL 如何使用 REGEXP 按另一列的行过滤一列的行

php - Ajax 和 Google 图书

PHP PDO : Syntax error or access violation

mysql - MySQL 中的 IF 语句