0

私は4つのテーブルを持っています

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合

私はMeaningInEnglishforEnglishにデータを持っています

1 1 こんにちは動詞
2 1 こんにちは名詞

私はMeaningInAmharicforEnglishにデータを持っています

1 1 ራቀ verb
2 1 ራቀ 名詞

私はMeaningInTigrgnaforEnglishにデータを持っています

1 1 ሄደ 動詞
2 1 ሄደ 名詞

次のクエリを使用しました

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重複行を削除することで目的のクエリとして表示されるクエリを作成するにはどうすればよいですか?

4

1 に答える 1

0

回答をフォーマットしていただければ幸いです。この時点でのやり方から理解できる人は多くありません。
あなたのソリューションはGROUP BY column_name、重複を取得しているフィールドに a を使用していると思います。
次回からは、質問をできるだけ明確に構成するようにしてください。

于 2013-11-06T22:57:03.713 に答える