2010-07-11 7 views
0

J'ai 2 tables différentes qui sont tbl_meter et tbl_machines. J'entre les données en utilisant tbl_meter tous les jours. Je trouve des résultats avec la syntaxe sql suivante. Mais j'ai un problème avec tbl_machines. Il y a une relation entre 2 tables avec les champs local_no et machine_no. Comment puis-je récupérer des fichiers depuis la table tbl_machines et JOIN dans la table tbl_meter. J'ai déjà l'instruction JOIN dans la première table. Si quelqu'un peut m'aider, je serais vraiment reconnaissant. C'est la syntaxe sql que je calcule les résultats de tbl_meter. Je voudrais joindre 2 champs de tbl_machines à tbl_meter.Comment corriger la syntaxe sql

SELECT ((B.[turnover]*1) - (A.[turnover]*1)*1-((B.[total win]*1)*1 - (A.[total win]*1)*1)) As 'Result', 
     A.[Machine_No] As 'Machine_No', (B.[turnover]*1) - (A.[turnover]*1) As 'Turnover', (B.[total win]*1) - (A.[total win]*1) As 'Total win', 
     (B.[games played]*1) - (A.[games played]*1) As 'games played', 
     (B.[Credit In]*1) - (A.[Credit In]*1) As 'Credit In', 
     (B.[Bill In]*1) - (A.[Bill In]*1) As 'Bill In', 
     (B.[Cancel credit]*1) - (A.[Cancel credit]*1) As 'Cancel credit', 
     ((((B.[total win]*1)*1 - (A.[total win]*1)*1))*1/((B.[turnover]*1) - (A.[turnover]*1)*1))*1 As 'Actual%' 
    FROM tbl_meter A 
INNER JOIN tbl_meter B ON A.[Machine_No] = B.[Machine_No] 
    WHERE A.[cDate] = @StartDate 
     AND B.[cDate] = @EndDate; 

Répondre

1

Vous pouvez vous joindre à plusieurs champs, par ex.

INNER JOIN tbl_machines MAC 
ON MAC.local_no = A.local_no 
AND MAC.machine_no = A.machine_no 
+0

Ok, mais j'ai déjà une instruction Join sur le code ci-dessus. Comment puis-je faire cela avec une deuxième déclaration JOIN? Désolé pour les questions stupides mais je suis débutant. – Hakan

+1

Vous pouvez avoir autant de jointures que vous avez besoin dans une seule requête - A INNER JOIN B ON Af = Bf INNER JOIN C ON Cg = Bg INNER JOIN D ON Dh = Ch etc –

+1

@Hakan: Si je comprends bien votre exigence, vous devez ** remplacer ** la partie de votre requête qui lit INNER JOIN tbl_meter B ON A. [Machine_No] = B. [Machine_No] avec l'exemple de code de Will A - vous devrez également changer MAC en B dans son code. –