所有人!
我有一个表,在这里我保存了类别,每个翻译都是一个新行,有不同的语言id。
categories_id language_id categories_name
8032 4 Dukke
8032 10 Doll
8029 10 Bike
8074 4 Bil
我想获取那些没有语言\u id 4或语言\u id 10翻译的行。在这种情况下,输出是这样的:
categories_id language_id categories_name
8029 10 Bike
8074 4 Bil
frontend的最终结果是这样一个列表:
TRANSLATION 1 - TRANSLATION 2
Bike - [add translation]
[add translation] - Bil
4条答案
按热度按时间k5hmc34c1#
更新
一个更好的解决办法是调整table的位置;如果你会有更多的语言,你只需要添加
CASE WHEN ... END
新的声明在这里试试。
um6iljoc2#
您可以通过使用单词和语言生成所有可能的行来实现这一点。然后删除不存在的:
mqxuamgl3#
试试这个:它应该适用于您,使用
subquery
与MIN
然后使用相同的ID
和minlanguage_id
要检索的主要翻译是TRANSLATION_1
然后再次加入相同的ID
但是not equal to
language_id
检索TRANSLATION_2
并检查状况,如果language_id IS NULL
具体如下:输出:---如果其中一种语言为空
p3rjfoxz4#
如果只有两种语言,则可以将表本身连接起来。
比如:
对于更多的语言,您必须多次执行类似的操作。