Je veux créer une table de vue en obtenant des données de trois tables SQL. Mais le problème est que les mêmes noms de colonne ne figurent pas dans le tableau. Lorsque j'essaie d'exécuter la requête est SQL, il y a une erreur.
Tableau A et Table C avoir un même nom de colonne, tableau B a un nom de colonne différent. My SQL Query P>
CREATE VIEW reporting AS
SELECT
chart_entery.booking_id,
chart_entery.activity_name,
tbl_booking.ref_no
FROM proof a
JOIN tbl_booking b
JOIN chart_entery c
WHERE
a.booking_id = b.id
AND a.booking_id = c.booking_id
AND b.id = c.booking_id
3 Réponses :
Vous avez l'aliasing des tables, vous devez donc utiliser les alias lors de la liste des colonnes. De plus, vous auriez besoin de déplacer les conditions de jonction à partir du où code> clause code> sur la clause code> de la jonction correspondant code>:
Créer une vue Reporting comme Sélectionnez C.Booking_ID, C.Activity_Name, B.RF_NO, C.ADULT, C.CHILD, C.A_V_COST, C.C_COST, C.MRK_UP_AMNT, C.MRK_UP_CHILD_AMNT, C.VAT_AMNT_ADULT, C.VAT_AMNT_CHLD, A .ref_no de la preuve d'une jointure TBL_Booking B sur a.booking_id = b.id jointure charkt_entery c sur a.booking_id = c.booking_id et b.id = c.booking_id
# 1054 - Colonne inconnue 'A.ref_no' dans "Liste de champ"
Qu'est-ce que je devrais faire maintenant?
Je ne peux pas comprendre
@Floapfrnd: Il n'y a pas de colonne nommée A.ref_no code> dans ma requête (il y a une colonne nommée b.ref_no code>). Veuillez exécuter la requête telle qu'elle est dans ma réponse et partager le résultat.
En fait, j'ai besoin d'un record de la preuve de la table .. Il y a aussi un non-non et un paiement reçu. Comment je peux sélectionner celui-là
Essayez d'utiliser le même alias de table et d'appliquer correctement sur la clause
CREATE VIEW reporting AS
SELECT c.booking_id
, c.activity_name
, b.ref_no
FROM proof a
JOIN tbl_booking b ON a.booking_id = b.id AND
JOIN chart_entery c ON a.booking_id = c.booking_id AND b.id = c.booking_id
Le Votre requête est également gâchée en raison de l'utilisation incompatible des alias de table. P> P> rejoindre code> est correct. Vous avez besoin du correspondant sur code> clauses. De plus, utilisez des alias de table de signification: