Operazioni con dati di tabelle diverse

lunedì 14 aprile 2008 - 20.35

albedo Profilo | Junior Member

Quale il metodo migliore per ottenere la somma tra due valori ricavati però da fue tabelle diverse, mi spiego:

Dalla tabella vendite seleziono i diversi valori minimi (Select Min()) degli articli venduti per un singolo fornitore, ad esEmpio:

MATTEO VITI: 3
MATTEO CHIODI: 2
MATTEO CHIAVI: 5

Ora vorrei sottrarre quisti valori al carico degli astessi articoli/fornitore della tabella CARICHI


MATTEO VITI: 10 -3 -->6
MATTEO CHIODI: 10 -2 -->8
MATTEO CHIAVI: 0 -5 -->-5

Avevo pensati di caricare i dati del datareader in una matrice e poi esguire l'operazione di sottreazione tramite un ciclo for next, ma non sono riuscito a caricare i dati nella matrice.

Vorrei allora caricare i dati in una datatable (e sfuttare la funzione Expression), ma la query che dovrebbe assolvere a questo compito mi va in errore. ho scitto uan quary così, per intenderci: SELECT(MIN(VENDITE.COLLI) AS RST), CARICHI.CARICO, CARICHI.RESO FROM VENDITE WHERE FORNITORE ='XXXXX'

Vi prego, ditemi d0v'è che sbaglio.

Ciao


TOPOAMORE Profilo | Expert

la select che hai effettuato non ha nessuna connessione di tabelle...oppure non l'hai scritta?

albedo Profilo | Junior Member

Non l'ho scritta, ma c'è.

Ciao

lbenaglia Profilo | Guru

>Quale il metodo migliore per ottenere la somma tra due valori
>ricavati però da fue tabelle diverse, mi spiego:

Ciao albedo,

Posta la struttura delle tabelle complete di constraints (CREATE TABLE), alcune righe di prova (INSERT INTO) ed il result set finale che vuoi ottenere con quei dati.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

albedo Profilo | Junior Member

>>Quale il metodo migliore per ottenere la somma tra due valori
>>ricavati però da fue tabelle diverse, mi spiego:
>
>Ciao albedo,
>
>Posta la struttura delle tabelle complete di constraints (CREATE
>TABLE), alcune righe di prova (INSERT INTO) ed il result set
>finale che vuoi ottenere con quei dati.
>
>Ciao!
>--
>Lorenzo Benaglia
>Microsoft MVP - SQL Server
>http://blogs.dotnethell.it/lorenzo/
>http://italy.mvps.org

Ciao, Lorenzo
prima di tutto vorrei scusarmi per il ritard con cui rispondo, ma ho avuto delle noie al lavoro che mi hanno costretto lontano dal pc.
Proprio nel risponder a quasto tuoposto mi sono accorto che poer il risultato finale manca un parametro fondamentale, essendo un query d'aggrgazione non può mancare il 'GROUP BY'.
Ecco quindi la query "funzionate":

sql = "SELECT MIN(VENDITE.SCARICO) AS VENDUTI, CARICHI.RESO AS RESI FROM VENDITE, CARICHI WHERE VENDITE.DATA = '" & _
Griglia_Vendite.Item(0, rw).Value & "' AND CARICHI.DATA = '" & Griglia_Vendite.Item(0, rw).Value & _
"' AND VENDITE.ID_FOR = '" & Griglia_Vendite.Item(1, rw).Value & _
"' AND CARICHI.ID_FOR = '" & Griglia_Vendite.Item(1, rw).Value & "' GROUP BY CARICHI.RESO" .

Pittosto ora ho un altro problema:

Ho una DataGridView che utilizzo per inserire dei valori che poi verrano salvati in un database access, ora quando vado riempire la datagridview mediante una query di selezione mi aggiunge automaticamente delle colonne con i dati selezionati accanto a quelle già presenti e che invece rimangono vuote, perché?

Grazie.

Ciao

TOPOAMORE Profilo | Expert

ma il dataset delle due tabelle e lo stesso?
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5