たとえば、私は world.sql データベースを使用しており、これがどのように見えるかの短いサンプルを次に示します。
CountryCode:char(3) Language:char(30) IsOfficial:enum('T', 'F') Percentage:float(4,1)
次のように、国コードごとにいくつかのエントリがあります。
ABW Dutch T 5.3
ABW English T 9.5
私の目標は次のとおりです。CountryCode のすべての公用語を取得したいと考えています。つまり、それが ABW のすべての国コードである場合は、次のように返します。
ABW Dutch|English
これが私のMySQLクエリです:
SELECT
CountryCode,
group_concat(top.offlanguages SEPARATOR "|") AS "Official Languages"
FROM (
SELECT
CountryCode,
Language AS offlanguages
FROM CountryLanguage
WHERE IsOfficial = 'T'
GROUP BY CountryCode
) top
何らかの理由で、ABW CountryCode の下で可能なすべての言語が返されますが、その理由がわかりません。
つまり、次のようなものが返されます。
ABW オランダ語|英語|アラビア語|...(何度も何度も)