La Commande SQL n'est pas correctement terminé Oracle
Ma requête SQL ci-dessous dit qu'il n'est pas terminé correctement sur la première Jointure Interne?Si je supprime le deuxième tableau et la clause where de la requête est bien, mais?
SELECT homes.home_id, homes.title, homes.description, homes.living_room_count, homes.bedroom_count, homes.bathroom_count, homes.price, homes.sqft,
listagg(features.feature_name, '\n') WITHIN GROUP(ORDER BY features.feature_name) features, home_type.type_name
FROM homes, bookings
WHERE bookings.booking_end < date '2013-01-23' OR bookings.booking_start > date '2013-01-22' AND bookings.home_id <> homes.home_id
INNER JOIN home_feature ON homes.home_id = home_feature.home_id
INNER JOIN home_type ON home_type.type_code = homes.type_code
INNER JOIN features ON home_feature.feature_id = features.feature_id
GROUP BY homes.home_id, homes.title, homes.description, homes.living_room_count, homes.bedroom_count, homes.bathroom_count, homes.price, homes.sqft, home_type.type_name
Tout le monde peut voir les erreurs évidentes avec ma requête?
Mettez votre schéma.
Ne pas mélanger les jointures implicites et explicites de la syntaxe de jointure. En outre, le
Vous ne pouvez pas mettre un
Ne pas mélanger les jointures implicites et explicites de la syntaxe de jointure. En outre, le
JOIN
mots-clés va avant le WHERE
clause. Plus de détails dans le manuel: docs.oracle.com/cd/E11882_01/server.112/e26088/...Vous ne pouvez pas mettre un
where
ilOriginalL'auteur user1851487 | 2013-01-22
Vous devez vous connecter pour publier un commentaire.
Votre
WHERE
clause est au mauvais endroit, et on mélange les types de jointure:La
WHERE
clause apparaît après laJOIN
et avantGROUP BY
. Aussi, vous devez utiliser un type de syntaxe de jointure. Vous avez été en utilisant à la fois explicites et implicites de la syntaxe. J'ai déménagé à la jointure dehomes
etbooking
à unJOIN
au lieu d'utiliser une virgule entre les tables.vous êtes la bienvenue, heureux de vous aider. 🙂
OriginalL'auteur Taryn