我是 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 排序:
我考虑过使用 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/