0
私は2つのテーブルを結合しようとしています.1つは種を記述し、もう1つは種間の親子関係です。残念ながら、複数の「準」重複が存在するため、クエリでタクソンごとに複数の行が返されます。mySQLの内部結合で "semi"重複を削除する
TIDとParentTIDフィールドを使用して分類群の関係テーブルの例:
TID AuthorityID ParentTID
1 1 4 <-- offending row (note tid, parenttid)
1 1 2
2 1 2
3 2 2
1 2 4 <-- offending row (note tid, parenttid)
分類群の定義テーブルには、分類群の名前のテキストフィールドが含まれています。この場合、DISTINCTを使用していても、parentIDが '4'の重複は私に複数の行を与えています。私のクエリは以下の通りです:
SELECT SciName, rankID, MAX(parenttid) AS parentID, taxaenumtree.tid,
MAX(taxauthid) AS taid FROM taxaenumtree INNER JOIN taxa ON taxa.tid =
taxaenumtree.tid WHERE rankID > 1
AND SciName NOT LIKE "Animalia"
GROUP BY taxaenumtree.tid
結果セット(前に別のテーブルとTIDに入社する):
TID AuthorityID ParentTID
1 1 4
2 1 2
3 2 2
私は(ポスト加入)のようなものを取得したいと思います:
TaxonID FullName RankID ParentID TaxonAuthority
1 Magnoliophyta 10 4 1
2 Plantae 10 2 1
3 Cupressacae 30 2 2
and so on, producing 1 row for each taxon with the highest ParentID.
各レコードについて、一意の分類群につき1つの行のみを使用します。
サンプル(完全)と取得したい結果を表示 – scaisEdge
こんにちは、@scaisEdge - 私は例を追加し、テーブルを明確にしました。タクソンテーブル(図示せず)は、単に名前フィールドとTIDを有する。 –
@Strawberry TIDによって定義された各タクソンが名前、rankID、parentID(そのTIDで最も高い)、およびtaxonAuthorityを持つ結果の継続。私の現在の問題は、既存の情報を複製するさまざまなTaxonAuthorityのバージョンです(サンプル表にハイライトされています)。 –