0
私はテーブルae_types
を持っています。私は同じaetDaysToWait
で2つのaetProposalType
Sは存在しないことを保証していますように、同じテーブルの別のフィールドの最大値に基づいてフィールドのIDを取得する方法
aetId This is Auto Increment and is the Primary Key
aetProposalType Text field 5 characters long
aetDaysToWait Byte data type
aetProposalType
とaetDaysToWait
は一意のキーである:それは私の質問に関連する3つのフィールドが含まれています。
私が探しているのは、それぞれがのaetDaysToWait
のフィールドのaetId
を取得することです。
以下は私がこれを達成するために考え出した質問ですが、おそらく不必要に複雑で非常に美しいものではないようです。
SELECT ae_types.aetId AS lastEmailId, ae_types.aetProposalType
FROM ae_types INNER JOIN
(SELECT ae_types.aetProposalType, Max(ae_types.aetDaysToWait) AS MaxOfaetDaysToWait
FROM ae_types GROUP BY ae_types.aetProposalType) AS ae_maxDaysToWaitByProposalType
ON (ae_types.aetDaysToWait = ae_maxDaysToWaitByProposalType.MaxOfaetDaysToWait)
AND (ae_types.aetProposalType = ae_maxDaysToWaitByProposalType.aetProposalType);
いくつかの代替ソリューションとなぜ彼らは良いだろう何ですか?
PSご不明な点がありましたらお問い合わせください。私はその回答をお寄せください。
あなたは「代替ソリューション」について質問しています...あなたがプレッツェルのノットに身を結ぶときはいつでも、再評価する必要があります。どのようなビジネスルールを実装しようとしていますか?オートインクリメントIDについて何か知りたいと思うことはめったにありません。 – Tim
'ae_types'テーブルの各レコードはイベントタイプを表します。これらのイベントは 'aetDaysToWait'フィールドによって順序付けされ、' aetProposalType'フィールドによってグループ化されます。私は各タイプの最後のイベントのIDを見つける必要があります。私は現在のイベント(別のテーブルからのデータ)が最終的なイベントかどうかをチェックし、そうであればそれをマークします。 – Icode4food