-2
votes

Je souhaite créer une table de vue en obtenant des données de trois tables SQL. Mais le problème est la même que les noms de colonne ne figurent pas dans le tableau

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


0 commentaires

3 Réponses :


1
votes

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 clause sur la clause de la jonction correspondant : xxx


6 commentaires

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 dans ma requête (il y a une colonne nommée b.ref_no ). 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à



0
votes

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


0 commentaires

0
votes

Le rejoindre est correct. Vous avez besoin du correspondant sur clauses. De plus, utilisez des alias de table de signification: xxx

Votre requête est également gâchée en raison de l'utilisation incompatible des alias de table.


0 commentaires