0

単純なクエリで少し問題があります。ここにあります:

SELECT `T_COURS`.`COU_DATE`,
`T_SESSIONS`.*,
`T_FORMATIONS`.`FOR_TITRE`, `T_FORMATIONS`.`FOR_ID`, `T_FORMATIONS`.`FOR_TITRE`,     `T_FORMATIONS`.`FOR_CATEGORIE`,
`T_FORMATIONS`.`FOR_DESCRIPTION`, `T_FORMATIONS`.`FOR_MIN_PART`, `T_FORMATIONS`.`FOR_MAX_PART`, `T_FORMATIONS`.`FOR_PRIX`, `T_FORMATIONS`.`FOR_LANGUE`
FROM `T_FORMATIONS`
INNER JOIN `T_COURS` ON `T_SESSIONS`.`SES_ID` = `T_COURS`.`COU_SES_ID`
INNER JOIN `T_SESSIONS` ON `T_FORMATIONS`.`FOR_ID` = `T_SESSIONS`.`SES_FOR_ID`
WHERE `T_SESSIONS`.`SES_ETAT` = 1
ORDER BY `T_COURS`.`COU_DATE` ASC, `T_SESSIONS`.`SES_TITRE` ASC, `T_FORMATIONS`.`FOR_TITRE` ASC LIMIT 5

実行しようとすると、次のメッセージが表示されます。

#1054 - Unknown column 'T_SESSIONS.SES_ID' in 'on clause'

すべてが私のデータベースに存在するので、なぜ私は本当に理解していませんか?

私はインターネットで答えを探しましたが、それは私を助けませんでした(または私が読んだ答えを理解していなかったかもしれません)。

4

1 に答える 1

0

あなたの完全なテーブル構造を見ずに、私はあなたのJOIN注文を交換することから始めます、あなたはT_SESSIONSあなたがあなたの現在のバージョンでそれを使おうとした後に参加しています。あなたは現在持っています:

FROM `T_FORMATIONS`
INNER JOIN `T_COURS` 
  ON `T_SESSIONS`.`SES_ID` = `T_COURS`.`COU_SES_ID`
INNER JOIN `T_SESSIONS` 
  ON `T_FORMATIONS`.`FOR_ID` = `T_SESSIONS`.`SES_FOR_ID`

次のように変更します。

FROM `T_FORMATIONS`
INNER JOIN `T_SESSIONS` 
  ON `T_FORMATIONS`.`FOR_ID` = `T_SESSIONS`.`SES_FOR_ID`
INNER JOIN `T_COURS` 
  ON `T_SESSIONS`.`SES_ID` = `T_COURS`.`COU_SES_ID`

完全なクエリを作成する:

SELECT `T_COURS`.`COU_DATE`,
  `T_SESSIONS`.*,
  `T_FORMATIONS`.`FOR_TITRE`, 
  `T_FORMATIONS`.`FOR_ID`, 
  `T_FORMATIONS`.`FOR_TITRE`,     
  `T_FORMATIONS`.`FOR_CATEGORIE`,
  `T_FORMATIONS`.`FOR_DESCRIPTION`, 
  `T_FORMATIONS`.`FOR_MIN_PART`, 
  `T_FORMATIONS`.`FOR_MAX_PART`, 
  `T_FORMATIONS`.`FOR_PRIX`, 
  `T_FORMATIONS`.`FOR_LANGUE`
FROM `T_FORMATIONS`
INNER JOIN `T_SESSIONS` 
  ON `T_FORMATIONS`.`FOR_ID` = `T_SESSIONS`.`SES_FOR_ID`
INNER JOIN `T_COURS` 
  ON `T_SESSIONS`.`SES_ID` = `T_COURS`.`COU_SES_ID`
WHERE `T_SESSIONS`.`SES_ETAT` = 1
ORDER BY `T_COURS`.`COU_DATE` ASC, `T_SESSIONS`.`SES_TITRE` ASC, `T_FORMATIONS`.`FOR_TITRE` ASC 
LIMIT 5
于 2012-11-15T10:53:20.930 に答える