画像に表示されているテーブルのデータと最大の日付を組み合わせたビューを作成したいとします。これらは、profileIDでグループ化する必要があります。日付が最大のすべてのデータを含むMySQL Creatビュー
は、profileIDがprofile.userIDにリンクされています。
私は自分のコードで異なるアトラクションを試しました。要塞1は日付が最大のデータを選択しますが、結合は機能しません。すべてのprofileIDは同じデータで結合されます。
CREATE
ALGORITHM = UNDEFINED
DEFINER = `b91788dd8d05b5`@`%`
SQL SECURITY DEFINER
閲覧fitchallengersql1
。二一
Select p.userID,
(SELECT
`bf`.`bodyFat`
FROM
(`fitchallengersql1`.`bodyfatprofile` `bf`
JOIN `fitchallengersql1`.`profile` `p`)
WHERE
((`bf`.`profileID` = `p`.`userID`)
AND (`bf`.`date` = (SELECT
MAX(`fitchallengersql1`.`bodyfatprofile`.`date`)
FROM
`fitchallengersql1`.`bodyfatprofile`)))) AS `bodyFat`,
(SELECT
`bw`.`bodyweight`
FROM
(`fitchallengersql1`.`bodyweightprofile` `bw`
JOIN `fitchallengersql1`.`profile` `p`)
WHERE
((`bw`.`profileID` = `p`.`userID`)
AND (`bw`.`date` = (SELECT
MAX(`fitchallengersql1`.`bodyweightprofile`.`date`)
FROM
`fitchallengersql1`.`bodyweightprofile`)))) AS `bodyWeight`,
(SELECT
`bmi`.`bmi`
FROM
(`fitchallengersql1`.`bmiprofile` `bmi`
JOIN `fitchallengersql1`.`profile` `p`)
WHERE
((`bmi`.`profileID` = `p`.`userID`)
AND (`bmi`.`date` = (SELECT
MAX(`fitchallengersql1`.`bmiprofile`.`date`)
FROM
`fitchallengersql1`.`bmiprofile`)))) AS `bmi`
From profile
AS profileview
参加作品どのようにする必要がありますが、私は日付が最大であるデータだけを選択する方法を把握することはできません。
CREATE
ALGORITHM = UNDEFINED
DEFINER = `b91788dd8d05b5`@`%`
SQL SECURITY DEFINER
VIEW `fitchallengersql1`.`profileview` AS
SELECT
`p`.`userID` AS `userID`,
`p`.`privacy` AS `privacy`,
`bs`.`size` AS `bodysize`,
`bw`.`bodyweight` AS `bodyweight`,
`bf`.`bodyFat` AS `bodyfat`,
`bmi`.`bmi` AS `bmi`
FROM
((((`fitchallengersql1`.`profile` `p`
JOIN `fitchallengersql1`.`bodysizeprofile` `bs`)
JOIN `fitchallengersql1`.`bodyweightprofile` `bw`)
JOIN `fitchallengersql1`.`bmiprofile` `bmi`)
JOIN `fitchallengersql1`.`bodyfatprofile` `bf`)
WHERE
((`p`.`userID` = `bs`.`profileID`)
AND (`p`.`userID` = `bw`.`profileID`)
AND (`p`.`userID` = `bmi`.`profileID`)
AND (`p`.`userID` = `bf`.`profileID`))
誰かが私を助けてくれることを願っています。
ありがとうございました!
fleewe
は、サンプルデータと期待出力[**どのようツー掲載し**](http://stackoverflow.com/help/how-to-ask) \t \tを読み、ここでください私たちを表示します方法を学ぶには[** START **](http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/)に最適な場所です質問の質を向上させ、より良い回答を得ることができます。 –