Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    info per query complessa

    ciao a tutti,
    con sql server 2000 ho creato una vista su 3 tabelle in join.
    nella prima tabella ci sono i dati di una bolla fornitore, nella seconda tutti gli articoli di quella bolla e nella terza tutti i colli di un articolo di quella bolla.
    con la vista se un articolo ha + righe nella tabella colli, mi viene ripetuta n volte nel risultato.
    come faccio in sql a far si che mi scriva tutti i valori necessari solo su una riga?

    grazie

  2. #2
    Utente di HTML.it L'avatar di Mashin
    Registrato dal
    Jul 2010
    Messaggi
    187
    Non ho ben capito l'esito che tu vuoi ottenere.

    L'insieme delle informazioni nelle tre tabelle ? Quindi tutti gli articoli e relativi colli legati a una bolla?

    Solo informazioni di ogni articolo con relativi colli ?

    Sarebbe anche utile riportare (anche con aliasi) le struttre delle tabelle per capire quale informazioni vuoi esporre.

    Mi spiego meglio.

    Se un articolo ha piu' colli, ognuno di questi avra' informazioni specifiche che lo distingue dall'altro.

    Quando tu dici che vuoi tutto su una riga intendi tutte le informazioni di eventuali colli una di fianco all'altra ?

  3. #3
    direi che ci hai preso. faccio un esempio tanto per essere + chiaro possibile

    Tabella Bolla Tabella Articolo Tabella Colli
    ------------ ---------------- -----------
    id_bolla id_articolo id_articolo
    num_bolla cod_articolo num_colli
    id_bolla pezzi_x_collo

    se io ho:
    bolla n: 100 articoli: 111 colli: 1 pezzi_x_collo: 10
    222 colli: 1 pezzi_x_collo:50
    colli: 1 pezzi_x_collo:70

    la vista mi restituisce 3 righe, mentre se è possibile io vorrei che il risultato fosse così:

    bolla n: 100 articoli: 111 colli: 1 pezzi_x_collo: 10
    222 colli: 1 pezzi_x_collo:50 colli: 1 pezzi_x_collo:70

    si può fare?
    grazie

  4. #4
    Utente di HTML.it L'avatar di Mashin
    Registrato dal
    Jul 2010
    Messaggi
    187
    Cerco di ricostruire la struttra DB perche' purtroppo con copia incolla su forum la formattazzione perde.

    Hai
    Tabella_bolla(id_bolla, num_bolla)
    Tabella_articolo(id_articolo, cod_articolo,id_bolla)
    Tabella_colli(id_articolo, num_colli, pezzi_x_collo)

    Fin qui e' corretto ? Suppongo i vari ID colleghino le tabelle.

    Per mettere in riga tutte le info vuol dire che a priori non sai quante colonne avra' la query in uscita. Oppure hai fissato un massimo di colli per articolo ? (in tipologia intendo)

  5. #5
    si corretto! gli id legano le tabelle

    no a priori non lo so.
    possono essere da 1 in su.

  6. #6
    ...sarebbe tutto più facile se chi chiede allegasse gli script di
    - create table
    - insert into per popolare le tabelle con dati significativi

    e riportasse anche il risulatato desiderato.

  7. #7
    Utente di HTML.it L'avatar di Mashin
    Registrato dal
    Jul 2010
    Messaggi
    187
    Secondo me un limite massimo lo devi porre....Io non conosco, ma forse qui e' ignoranza mia, una sintassi che dia un numero di colonne dinamico (se mi passi il termine).

  8. #8
    ok e ipotizzando di imporre un limite come lo risolverei?

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    In pratica mi sembra di capire che voglia emulare la funzione group_concat() di mysql. Ins sql server 2000 non esiste niente di simile. Devi ricorrere a una funzione come quella table2list() del link

    http://stackoverflow.com/questions/1...ed-on-relation

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.