per i tipi di campo diversi basta fare un CAST (a discapito delle prestazioni), ma mi interessava capire la logica
per i tipi di campo diversi basta fare un CAST (a discapito delle prestazioni), ma mi interessava capire la logica
select t1.qta, t2.Codice1, t2.descrione from tabellaA as t1 inner join tabellaB as t2 on t1.codice1 = t2.codice1;
A me serve fare la join anche sul campo Codice2 che però è di tipo testo.
Ho due tabelle
Tabella A
codice di tipo numerico
Tabella B
codice1 di tipo numerico
codice2 di tipo testo
Ultima modifica di michelepi; 09-05-2017 a 17:31
si ho visto, pero continuo a non capire, cosa intendi per join a questo punto? come la scriveresti tu la query? cosi poi vediamo se è fattibile, come si puo aggiustare.
qui spiega cosa è una join: https://it.wikipedia.org/wiki/Join_(SQL)
select t1.qta, t2.Codice2, t2.descrione from tabellaA as t1 inner join tabellaB as t2 on t1.codice1 = t2.codice1;
Questa è la tua e va bene.
Io aggiungerei
select t1.qta, t2.Codice1, t2.descrione from tabellaA as t1 inner join tabellaB as t2 on t1.codice1 = t2.codice1 inner join tabellaB as t3 on t1.codice1 = t3.codice2;
provato ma non funziona
Ok, e quale usi per fare riferimento all'articolo?
dipende dall'articolo.
un articolo può avere tipo di codice1 e un'altro articolo tipo di codice2. Quello che passo lo registro nella stessa tabella A e stesso campo
Allora puoi fare una tabella in cui il campo codice è una stringa e ci metti dentro tutto quello che vuoi, cosi quando fai la ricerca controlli un solo campo senza fare cose strane. io farei cosi:
tabella articolo:
articolo_id, int
articolo_codice, char 32
articolo_qta, int
giusto per darti un'idea, poi aggiusta tu il tipo di dato o quello che serve, avere due tabelle mi sembra eccessivo.