私はSQLを初めて使用しており、以下に示すようにテーブル結果を返すselect文に取り組んでいます。目的は、存在する各ThreadIDに対して1つの行を持つテーブルを返すことであり、クエリされたCatIDと一致するCatIDを持ち、結果をフィルタリングし/結果を制限して最新の投稿のみが返され、作成日:SQL INNER JOIN LIMIT結果ID UNIQUEと日付が最も最近のもの
日付作成された各可能な行が返される可能性のある日付を最も明確にするために作成日付を修正(Most RecentDate CatID = 1)1つのテーブルにデータが存在する場合は、明らかに私の理解を超えています。
╔══════════╔══════════╦═══════════════╦════════╦═════════════╗
║ CatID ║ ThreadID ║ ThreadTitle ║ PostID ║ DateCreated ║
╠══════════╬══════════╬═══════════════╬════════╬═════════════╣
║ 4 ║ 7 ║ Title A ║ 12 ║ most recent ║
║ 4 ║ 6 ║ Title B ║ 6 ║ most recent ║
║ 4 ║ 12 ║ Title C ║ 45 ║ most recent ║
║ 4 ║ 3 ║ Title D ║ 2 ║ most recent ║
╚══════════╩══════════╩═══════════════╩════════╩═════════════╝
私は明らかにPHPfreaks、W3Schoolsの、StackOverflowの通読とAdminerを使用して私の結果をモデル化しようとしてきました。私は前にやったことのない結合について少しは学んだことがありますが、数時間の試行(6時間)後、私は助けを求めて快適に感じます。
私の試みでは何も見つかりませんでした。結果は1つ、結果は8000+でした。私は実際のテストデータで4つの結果を得なければなりません。
これは
SELECT
mat.ThreadTitle,
mat.CatID,
map.DateCreated AS "RecentID",
map.ThreadID,
map.LastUpdated
FROM
ma_Threads AS mat
INNER JOIN
ma_Posts AS map
ON mat.CatID = '$catID'
WHERE `pat.DateCreated(test.marvelchampions)` = (
SELECT MAX(DATE(pat.DateCreated))
FROM `pat`
望んだように動作していない私の最新の試みましSQL、です)
テーブルにddlを入力してください。あなたが参加する共通の列はありますか? – Alex
strtolower($ thread-> title); –
SQLをデバッグするには、テーブルma_Threadsとma_Postsの定義を確認する必要があります。質問に追加してください。 – Nic3500