0

すべてのユーザーとそのプロファイル情報を一覧表示するクエリを作成したいのですが、かなり複雑な手順を使用してプロファイル情報を取得する必要があります。

SELECT options.`value` FROM users
RIGHT JOIN profile on(profile.uid = users.uid)
RIGHT JOIN field_data_field_ethnicity on(field_data_field_ethnicity.entity_id = profile.pid)
RIGHT JOIN options on(field_data_field_city.field_ethnicity_value = bdc_options.`index` AND bdc_options.`key` = "ethnicity")
WHERE users.uid = 1 #needs to go through all users in table
ORDER BY field_data_field_ethnicity.revision_id DESC
LIMIT 1

SELECT options.`value` FROM users
RIGHT JOIN profile on(profile.uid = users.uid)
RIGHT JOIN field_data_field_city on(field_data_field_city.entity_id = profile.pid)
RIGHT JOIN options on(field_data_field_city.field_city_value = bdc_options.`index` AND bdc_options.`key` = "city")
WHERE users.uid = 1
ORDER BY field_data_field_ethnicity.revision_id DESC
LIMIT 1

これら2つのフィールドから、ユーザーテーブルをどのように調べて、次のようなものを取得しますか

USER  |  CITY   |  ETHNICITY  
  1   |  London |   Koalabear         
  2   |  Paris  |   Fiddle

問題のテーブルは次のとおりです。http://pastebin.com/feNvzMZw

フィールド テーブルには、プロファイル テーブルを参照する entity_id とリビジョン番号を参照するリビジョン ID を持つすべてのエントリがあります。

4

0 に答える 0