0

これが私のクエリです:

SELECT * From `users` AS `User`
LEFT JOIN `picks` AS `Pick` ON (`Pick`.`User_id` = `User`.`id`)
LEFT JOIN  `owners` AS `owner` ON (`owner`.`id` = `Pick`.`owner_id`)
LEFT JOIN  `owners_seeds` AS `OwnersSeed` ON (`OwnersSeed`.`ownerdate` = (`owner`.`id`)
LEFT JOIN  `labels` AS `Label` ON (`Label`.`id` = `Pick`.`label_id`) WHERE User.market_id = 1111

クエリは正常に機能しますが、結果は次のようになります。

USER X

PICK X

OWNER X

等..

すべてのユーザーには多くのピックがありますが、各ピックには所有者が 1 人しかいないため、結果を次のように出力したいと思います。

ユーザー X

  1. ピック1
    1. 所有者 1
      1. 所有者シード
    2. 所有者 2
      1. 所有者シード
    3. 所有者 3...
  2. ピック 2

どうやってやるの?

ありがとう

4

1 に答える 1

0
SELECT
    users.user,
    picks.pick,
    owners.owner,
    owners_seeds.seed
From
    `users`
    LEFT JOIN `picks` ON (`Picks`.`User_id` = `Users`.`id`)
    LEFT JOIN  `owners` ON (`owners`.`id` = `Picks`.`owner_id`)
    LEFT JOIN  `owners_seeds` ON (`Owners_Seeds`.`ownerdate` = (`owners`.`id`)
    LEFT JOIN  `labels` ON (`Labels`.`id` = `Picks`.`label_id`)
WHERE
    users.market_id = 1111
group by users.user, picks.pick, owners.owner, owners_seeds.seed
order by users.user, picks.pick, owners.owner, owners_seeds.seed;

スキーマが説明どおりである場合、次のような結果が出力されます。

user     pick     owner    seed
------------------------------------
1        1        x        a
1        2        y        b
1        3        z        c
2        1        x        a
. . .
于 2012-06-08T19:37:12.430 に答える