mysql - 如何从 mysql 中的内连接查询中删除重复行

标签 mysql html

我有四张 table

CREATE TABLE IF NOT EXISTS Englishword (WordId int NOT NULL,WordName varchar(100) NOT NULL,PRIMARY KEY (WordId))

CREATE TABLE IF NOT EXISTS MeaningInAmharicforEnglish (MeaningidA int(11) NOT NULL,WordIdA int NOT NULL,MeaningNameA varchar(50) NOT NULL,WordclassA varchar (50) NOT NULL,PRIMARY KEY (MeaningidA),FOREIGN KEY (WordIdA) REFERENCES Englishword(WordId) ON UPDATE CASCADE ON DELETE CASCADE) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci

CREATE TABLE IF NOT EXISTS MeaningInTigrgnaforEnglish (MeaningidT int(11) NOT NULL,WordIdT int NOT NULL,MeaningNameT varchar(50) NOT NULL,WordclassT varchar (50) NOT NULL,PRIMARY KEY (MeaningidT),FOREIGN KEY (WordIdT) REFERENCES Englishword(WordId) ON UPDATE CASCADE ON DELETE CASCADE) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci

CREATE TABLE IF NOT EXISTS MeaningInEnglishforEnglish (MeaningidE int(11) NOT NULL,WordIdE int NOT NULL,MeaningNameE varchar(100) NOT NULL,WordclassE varchar (50) NOT NULL,PRIMARY KEY (MeaningidE),FOREIGN KEY (WordIdE) REFERENCES Englishword(WordId) ON UPDATE CASCADE ON DELETE CASCADE)

我有一个数据 英文单词

1 go

我有一个数据 英语对英语的含义

1 1 hello verb
2 1 hello noun

我有一个数据 英语阿姆哈拉语含义

1 1 ራቀ verb
2 1 ራቀ noun

我有一个数据 Tigrgna 英语的含义

1 1 ሄደ verb
2 1 ሄደ noun

我使用了以下查询

SELECT  WordId,
WordName,WordclassE,MeaningidE,MeaningNameE,WordclassA,MeaningidA,MeaningNameA,WordclassT,MeaningidT,MeaningNameT

FROM Englishword AS E, MeaningInEnglishforEnglish AS EM, MeaningInAmharicforEnglish AS AE, MeaningInTigrgnaforEnglish AS TE

WHERE (E.WordId = EM.WordIdE)
AND (E.WordId = AE.WordIdA)
AND (E.WordId = TE.WordIdT)

这给了我以下结果:

 WordId     WordName  WordclassE  MeaningidE  MeaningNameE  WordclassA  MeaningidA   
 1              go      verb       1            hello         verb     1   
 1              go      verb      1             hello         verb         1 
 1              go      verb      1             hello         verb         1
 1              go      verb      1             hello         verb         1
 1              go      verb      2             hello         verb         2 
 1              go      verb      2             hello         verb          2 
 1              go      verb      2             hello         verb          2 
 1              go      verb      2             hello         verb          2 

其他字段也根据表中的值重复,我希望得到这样的结果

WordId    WordName MeaningidE wordclass MeaningNameE WordclassA MeaningidA MeaningNameA 
1          go         1         verb       hello      verb       1             ራቀ 
Null       Null       2         verb       hello      verb       2             ራቀ

其余字段也是如此

h如何编写一个查询,通过删除重复行来显示所需的查询?

最佳答案

如果您可以格式化您的答案,那就太好了。从目前的情况来看,没有多少人能够理解。
我想您的解决方案是对您要获取重复项的字段使用GROUP BY column_name
下次尝试尽可能清晰地格式化您的问题。

关于mysql - 如何从 mysql 中的内连接查询中删除重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19824470/

相关文章:

PHP 我可以在 while 循环之外获取行 ["name"] 的值吗?

mysql - 从文件或本地表获取 SQL QUERY 的 WHERE IN 过滤器的输入列表

javascript - 让类(class)单独工作

php - 从输入字段中删除文本

javascript - 如何使用 Javascript 以编程方式更改 html 中的 div 位置?

php - 计算和比较行查询 Mysql PHP

php - ckeditor 存储数据 php

mysql - 尝试制作这些表格时遇到麻烦

html - 如何将段落显示为水平列表?

HTML/CSS 多级嵌套列表编号