mysql在许多列值中基于行选择

mysql在许多列值中基于行选择,mysql,sql,Mysql,Sql,我有一张这样的桌子 id alias_word language original 1 word1 es changed_word 2 word1 en orig_word 3 word1 fr changed_word 4 word2 de other_original 假设引用列语言=es 如何进行查询,以得到别名为word column=word1且原始列与语言列为es的原始列不同的

我有一张这样的桌子

id alias_word language  original
1    word1      es      changed_word
2    word1      en      orig_word
3    word1      fr      changed_word
4    word2      de      other_original
假设引用列语言=es

如何进行查询,以得到别名为word column=word1且原始列与语言列为es的原始列不同的所有行

预期结果:

2个单词1个原始单词

我已经试过了,结果是空的

SELECT * FROM words WHERE alias_word = 'word1' AND original <> original
而原创永远不会有任何回报。我不太明白你对原始专栏所做的,但我认为你不想在原始专栏中使用“原始”一词:

SELECT * 
FROM words 
WHERE alias_word = 'word1' 
    AND original <> 'original'
    AND language = 'es'
尝试使用自联接:

SELECT w2.*
FROM words w1
INNER JOIN words w2
    ON w1.alias_word = w2.alias_word AND
       w1.original <> w2.original
WHERE
    w1.language = 'es';

这适用于OP中的特定示例,但通过硬编码值来实现。。。还有原创的“原创”。。。我不知道原创的价值。。。这必须是原始的“我需要这个值”由“一个查询”确定,其中“语言”确定。谢谢你的。。。它起作用了。我添加了其中w1.language='es'和w1.alias='my_wanted_alias';适应我的需要