Telefonino.net network
 
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. NEI PREFERITI .:: | RSS Forum | RSS News | NEWS web | NEWS software |
| PUBBLICITA' | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | CERCA nel FORUM » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 14-07-2004, 14.51.23   #1
mangzeus
Newbie
 
Registrato: 07-07-2004
Messaggi: 9
mangzeus promette bene
Aiutatemi a fare una Inner join...

devo fare una inner join tra due tabelle e non riesco a ricavarmi l'istruzione sql....

Allora io ho due tabelle

1 tabellaLibri con i seguenti campi:

ID, TItolo, Autore, CodiceLibro, PosizioneLibro

2 tabellaMovimenti

Nome, Cognome, Titolo Libro, IdLibro(collegato all'ID della tabella LIbri)


io voglio fare una inner join tra queste due tabelle...

e quando mi popolo il datagrid voglio che mi escano tutti i campi della tabellaMovimenti più il campo [Autore], [CodiceLibro], [PosizioneLibro], della tabella movimenti dove idLibro è uguale a ID (della tabellaLibri)


quale risulta la select???
mangzeus non è collegato   Rispondi citando
Vecchio 14-07-2004, 14.59.23   #2
dave4mame
Jason
Top Poster
 
L'avatar di dave4mame
 
Registrato: 14-08-2002
Loc.: Non mi fate domande difficili...
Messaggi: 3.354
dave4mame promette bene
create table prottola as select

a.nome,
a.cognome,
....
b.autore,
b.codice libro
from tabellalibri as a, tabella movimenti as b
where a.id=b.id


con beneficio di inventario; l'sql che uso io è un dialetto un pò sporco.

forse la sintassi ortodossa è:

a.nome,
a.cognome,
....
b.autore,
b.codice libro
from tabellalibri as a inner join tabellamovimenti as b
one a.id=b.id
dave4mame non è collegato   Rispondi citando
Vecchio 14-07-2004, 15.06.14   #3
Dav82
Gold Member
Top Poster
 
Registrato: 18-07-2002
Messaggi: 6.399
Dav82 promette bene
Una annotazione, per partire: il titolo del libro lo metterei solo nella TabellaLibri, non in TabellaMovimenti, altrimenti è una ripetizione
E poi, sempre che tu non l'abbia fatto per altri motivi, userei un solo ID in TabelaLibri: puoi benissimo usarlo come chiave esterna in TabellaMovimenti, ed ogni libro ha un suo ID univoco.

Detto questo, e quindi togliendo il titolo dai movimenti, la select da fare è questa:

Codice:
SELECT Nome, Cognome, Titolo, CodiceLibro, PosizioneLibro
FROM TabellaLibri join TabellaMovimenti
ON TabellaLibri.ID = TabellaMovimenti.IdLibro
Il join fa normalmente l'inner join in tutti i sistemi più diffusi
Dav82 non è collegato   Rispondi citando
Vecchio 14-07-2004, 15.50.05   #4
mangzeus
Newbie
 
Registrato: 07-07-2004
Messaggi: 9
mangzeus promette bene
Quota:
Originariamente inviato da Dav82
Una annotazione, per partire: il titolo del libro lo metterei solo nella TabellaLibri, non in TabellaMovimenti, altrimenti è una ripetizione
E poi, sempre che tu non l'abbia fatto per altri motivi, userei un solo ID in TabelaLibri: puoi benissimo usarlo come chiave esterna in TabellaMovimenti, ed ogni libro ha un suo ID univoco.

Detto questo, e quindi togliendo il titolo dai movimenti, la select da fare è questa:

Codice:
SELECT Nome, Cognome, Titolo, CodiceLibro, PosizioneLibro
FROM TabellaLibri join TabellaMovimenti
ON TabellaLibri.ID = TabellaMovimenti.IdLibro
Il join fa normalmente l'inner join in tutti i sistemi più diffusi

adesso ti spiego...io ho un programma nel quale faccio select su tabelle access...finchè sono tabelle sempici, senza inner join posso fare una cosa di questo tipo e impostare il comando delete, insert, update per la tabella automaticamente così..

Dim CmbBld As New OleDb.OleDbCommandBuilder(da)
'era per queste due istruzioni che non funzionava...access le richiede



CmbBld.QuotePrefix = "["
CmbBld.QuoteSuffix = "]"


da.DeleteCommand = CmbBld.GetDeleteCommand
da.InsertCommand = CmbBld.GetInsertCommand
da.UpdateCommand = CmbBld.GetUpdateCommand

però questo tipo di espressione non supporta le istruzioni sql con la inner join...e mi da un errrore quando cerco di modificare la tabella, dicendomi che gli serve un commandUpdate valido...

come faccio ad impostarlo???
mangzeus non è collegato   Rispondi citando
Vecchio 14-07-2004, 15.51.04   #5
mangzeus
Newbie
 
Registrato: 07-07-2004
Messaggi: 9
mangzeus promette bene
la select con la inner join è questa:


Select TabellaMovimenti.ID, TabellaMovimenti.Cognome, TabellaMovimenti.Nome, TabellaMovimenti.Titolo, TabellaMovimenti.[Data Consegna], TabellaMovimenti.[Data Restituzione], TabellaMovimenti.IdLibro, TabellaMovimenti.Prestito, TabellaLibri.[Autore/Autrice], TabellaLibri.[Codice Libro], TabellaLibri.Posizione From TabellaLibri inner join TabellaMovimenti on TabellaLibri.ID=TabellaMovimenti.IdLibro
mangzeus non è collegato   Rispondi citando
Vecchio 14-07-2004, 17.26.36   #6
dave4mame
Jason
Top Poster
 
L'avatar di dave4mame
 
Registrato: 14-08-2002
Loc.: Non mi fate domande difficili...
Messaggi: 3.354
dave4mame promette bene
beh, scusa, se lo fai su tabelle access, puoi "comporre" la query con l'editor "grafico" e poi visualizzare il codice sottostante...
dave4mame non è collegato   Rispondi citando
Vecchio 14-07-2004, 21.09.14   #7
Topov
Mini Articolista
 
L'avatar di Topov
 
Registrato: 03-11-2001
Loc.: Galliate - 87.250.74.31
Messaggi: 1.913
Topov promette bene
Che cosa è un innerjoin?
___________________________________

.:: Il mio LUG: http://www.gallug.it::.
Topov non è collegato   Rispondi citando
Vecchio 15-07-2004, 11.17.37   #8
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
E' una parolaccia.
non voglio assolutamente che tu la dica, intesi ? Altrimenti niente gelato !
LoryOne non è collegato   Rispondi citando
Vecchio 15-07-2004, 11.22.06   #9
Dav82
Gold Member
Top Poster
 
Registrato: 18-07-2002
Messaggi: 6.399
Dav82 promette bene
Quota:
Originariamente inviato da LoryOne
E' una parolaccia.
non voglio assolutamente che tu la dica, intesi ? Altrimenti niente gelato !
Lory, mi fai scompiscià!
Dav82 non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
URGENTISSIMO WINDOWS XP si è bloccato aiutatemi vi prego cover Windows 7/Vista/XP/ 2003 6 27-02-2009 22.20.16
AIUTATEMI, PER FAVORE! - FADA.EXE e qualcos'altro... boh. best370 Sicurezza&Privacy 29 03-06-2008 10.35.49
Ho un problema in acess aiutatemi mi serve per domani ken87 Office suite 2 09-11-2006 18.43.17
Audio streaming per fare una web radio djmitch Multimedia | audio - video 2 24-09-2004 23.40.02
Con FlashFXP è possibile fare questo?? Mike73 Software applicativo 3 04-09-2004 14.22.00

Orario GMT +2. Ora sono le: 16.52.44.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.