2010-04-26 5 views
0

J'ai des problèmes avec les requêtes suivantes à l'origine fait pour certaines formes d'accès:Joindre deux requêtes dans une requête ou de faire une sous-requête

SELECT qry1.TCKYEAR AS Yr, COUNT(qry1.SID) AS STUDID, qry1.SID AS MID, table_tckt.tckt_tick_no 
FROM table_tckt INNER JOIN qry1 ON table_tckt.tckt_SID = qry1.SID 
GROUP BY qry1.TCKYEAR, qry1.SID, table_tckt.tckt_tick_no 
HAVING (((table_tckt.tick_no)=[forms]![frmNAME]![cboNAME])); 

SELECT table_tckt.sid, FORMAT([tckt_iss_date], 'yyyy') AS TCKYEAR, table_tckt.tckt_tick_no, table_tckt.licstate 
FROM table_tckt 
WHERE (((table_tckt.licstate)<>"NA")); 

Je ne suis pas travailler plus avec Access, mais JSP pour la formes. Je dois d'une manière ou d'une autre combiner ces deux requêtes dans une requête ou trouver une autre manière d'avoir une requête 'requête' une autre.

+0

Toute aide sera grandement appréciée !!! –

Répondre

1

Ce qui suit serait le moyen le plus rapide de le faire dans SQL Server. Je ne sais pas ce que vous utilisez comme backend, mais peut-être que cela vous indiquera la bonne direction.

Il utilise essentiellement l'instruction de with {} pour créer une table en mémoire nommée sql1 que vous pouvez interroger.

with 
{ 
SELECT table_tckt.sid, 
    FORMAT([tckt_iss_date], 'yyyy') AS TCKYEAR, 
    table_tckt.tckt_tick_no, 
    table_tckt.licstate 
FROM table_tckt 
WHERE (((table_tckt.licstate)<>"NA")); 
    } as sql1 
SELECT qry1.TCKYEAR AS Yr, 
    COUNT(qry1.SID) AS STUDID, 
    qry1.SID AS MID, 
    table_tckt.tckt_tick_no 
FROM table_tckt 
INNER JOIN qry1 ON table_tckt.tckt_SID = qry1.SID 
GROUP BY qry1.TCKYEAR, qry1.SID, table_tckt.tckt_tick_no 
HAVING (((table_tckt.tick_no)[email protected])); 
+0

Cela a fonctionné, la seule chose que j'ai changé était le {} to(). Merci beaucoup –

Questions connexes