9 messaggi dal 06 settembre 2002
Salve a tutti,
ho il seguente problema e non so quale sia il metodo per risolverlo,
ho 2 tabelle in un DB tabella Uffici e tabella Documenti
Nella tabella Documenti vi sono tutti i documenti creati da tutti gli uffici ovviamente con referenzialità sulla tabella Uffici..
Vorrei riuscire a sapere le seugenti cose
Numero di documenti che ogni ufficio ha pubblicato
qual'è l'ufficio più attivo ovvero quello che ha fatto più documenti.
Come posso fare? Suppongo un array multidimensionale... ma non sono molto ferrato in maniera, si accettano suggerimenti di quale potrebbe essere il metodo più veloce e performante.
Ovviamente quello sopra è solo un esempio ma in generale può essere utile per moltissime cose.. ma proprio mi areno su qesta cosa...
Grazie mille HELLPPPP MEE! :)
333 messaggi dal 06 agosto 2003
Non mi pare servano degli Array (se ho ben capito il tuo problema...).
In una situazione come la tua è solo questione di strutturare bene le interrogazioni alle tabelle.
Per la prima richiesta non devi fare altro che impostare una query simile:

SELECT COUNT(*) AS VALORE,UFFICIO FROM Uffici INNER JOIN Documenti
ON Uffici.<campodijoin>=Documenti.<campodijoin> GROUP BY UFFICIO

facendo poi:
Set Risultati= ConnessioneDB.execute("<Query di sopra>")

avrai in Risultati tutti i dati di cui hai bisogno...
Il problema è giusto impostare le interrogazioni, non vedo altri ostacoli...

Conosco la metà di voi soltanto a metà e nutro per meno della metà di voi metà dell'affetto che meritate...

Bilbo Baggins
9 messaggi dal 06 settembre 2002
emmmm siccome sono un po imbranato nel sql avanzato se ti dico il nome delle tabelle e dei campi me lo puoi tradurre!? :-)
ovviamente a buon rendere per le poche cose che posso sapere! :)
TABELLA Uffici
IDufficio
NomeUfficio

Tabella ModUfficio
IdModUff
IDufficio (questo ovviamente è collegato in relazione)

Grazie mille per la tua pazienza
3.122 messaggi dal 16 maggio 2002
Numero di documenti che ogni ufficio ha pubblicato:
SELECT NomeUfficio, COUNT(IdModUff)
FROM Uffici U LEFT JOIN ModUfficio M
ON U.IDufficio=M.IDufficio
GROUP BY NomeUfficio

Ho usato un left join in modo da mostrare anche gli ufficio che non hanno pubblicato nulla

Ufficio con più documenti pubblicati:
SELECT IDufficio
FROM ModUfficio
GROUP BY IDufficio
HAVING COUNT(IdModUff)>=ALL (
SELECT COUNT(IdModUff)
FROM  ModUfficio
GROUP BY IDufficio
)

Dovrebbe andare, direi che su SQLServer va, su access non so se è supportata la clausola ALL

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.