Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 22
  1. #11
    ma la query che hai postato è quella completa o la solita "semplificata" per venire incontro alle nostre ridotte capacità?


  2. #12
    questa quella completa:
    codice:
    SELECT 
    negozio_npu, 
    negozio_codice,
    negozio_ragsoc,
    SUM(rigord_qta),
    SUM(rigord_qta * rigord_prezzo)
    FROM tesord 
    INNER JOIN rigord ON rigord_tesord_fk = tesord_id 
    INNER JOIN articoli ON articolo_npam = rigord_articolo_fk 
    LEFT OUTER JOIN st_negozi ON negozio_npu = tesord_de 
    WHERE tesord_inviato = 1 
    AND tesord_annullato = 0
    AND tesord_tipo = 'O'
    AND tesord_de IN(26721,24319,34586,34587,34611,27223,34620,34454,35347)
    AND articolo_codice = 'K190-347' 
    GROUP BY negozio_npu 
    ORDER BY negozio_ragsoc
    quella originale aveva la INNER JOIN al posto della LEFT.
    quindi non cambia di molto rispetto a quella postata!

  3. #13
    AND tesord_de IN(26721,24319,34586,34587,34611,27223,34620,34454 ,35347)

    diventa


    AND negozio_npu IN(26721,24319,34586,34587,34611,27223,34620,34454 ,35347)

  4. #14
    AND tesord_de IN(26721,24319,34586,34587,34611,27223,34620,34454 ,35347)


    diventa


    AND negozio_npu IN(26721,24319,34586,34587,34611,27223,34620,34454 ,35347)


    parti sempre dai negozi

  5. #15
    ecco:
    codice:
    SELECT 
    negozio_npu, 
    negozio_codice,
    negozio_ragsoc,
    SUM(rigord_qta),
    SUM(rigord_qta * rigord_prezzo)
    FROM st_negozi 
    LEFT OUTER JOIN tesord ON negozio_npu = tesord_de 
    LEFT OUTER JOIN rigord ON rigord_tesord_fk = tesord_id 
    LEFT OUTER JOIN articoli ON articolo_npam = rigord_articolo_fk 
    WHERE tesord_inviato = 1 
    AND tesord_annullato = 0
    AND tesord_tipo = 'O'
    AND negozio_npu IN(26721,24319,34586,34587,34611,27223,34620,34454 ,35347) 
    AND articolo_codice = 'K190-347' 
    GROUP BY negozio_npu 
    ORDER BY negozio_ragsoc
    il risultato è sempre lo stesso, 5 records.
    quindi i 4 senza ordine non si vedono.

  6. #16
    certo, perché fai delle WHERE su risultati che non ci saranno mai, tipo

    tesord_inviato = 1

    che dovrebbe invece essere

    (tesord_inviato = 1 OR tesord_inviato IS NULL)

  7. #17
    uhm ho provato anche facendo così come mi hai suggerito:
    codice:
    SELECT 
    negozio_npu, 
    negozio_codice,
    negozio_ragsoc,
    SUM(rigord_qta),
    SUM(rigord_qta * rigord_prezzo)
    FROM st_negozi 
    LEFT OUTER JOIN tesord ON negozio_npu = tesord_de 
    LEFT OUTER JOIN rigord ON rigord_tesord_fk = tesord_id 
    LEFT OUTER JOIN articoli ON articolo_npam = rigord_articolo_fk 
    WHERE (tesord_inviato = 1 OR tesord_inviato IS NULL)
    AND (tesord_annullato = 0 OR tesord_annullato IS NULL)
    AND (tesord_tipo = 'O' OR tesord_tipo IS NULL)
    AND negozio_npu IN(26721,24319,34586,34587,34611,27223,34620,34454 ,35347) 
    AND articolo_codice = 'K190-347' 
    GROUP BY negozio_npu 
    ORDER BY negozio_ragsoc
    ma neanche cosi ha funzionato!

  8. #18
    vedo che su articolo_codice non l'hai applicato

  9. #19
    si non ci avevo fatto caso:
    codice:
    SELECT 
    negozio_npu, 
    negozio_codice,
    negozio_ragsoc,
    SUM(rigord_qta),
    SUM(rigord_qta * rigord_prezzo)
    FROM st_negozi 
    LEFT OUTER JOIN tesord ON negozio_npu = tesord_de 
    LEFT OUTER JOIN rigord ON rigord_tesord_fk = tesord_id 
    LEFT OUTER JOIN articoli ON articolo_npam = rigord_articolo_fk 
    WHERE (tesord_inviato = 1 OR tesord_inviato IS NULL)
    AND (tesord_annullato = 0 OR tesord_annullato IS NULL)
    AND (tesord_tipo = 'O' OR tesord_tipo IS NULL)
    AND negozio_npu IN(26721,24319,34586,34587,34611,27223,34620,34454,35347) 
    AND (articolo_codice = 'C190-016' OR articolo_codice IS NULL)
    GROUP BY negozio_npu 
    ORDER BY negozio_ragsoc
    adesso compare anche un record in più, con valori null.
    però c'è cmq qualcosa di strano.
    ho fatto altre prove con altri articoli, e mi escono sempre i records "corretti" più uno solo a NULL.
    cioè, se sono tre a nulla (per esempio) ne esce sempre uno solo.
    come se raggruppasse per valore (non so se mi sono spiegato).

  10. #20
    referenzia i campi, come in questo esempio

    SELECT C.nome, C.cognome FROM clienti C WHERE c.nome like 'a%' ...

    così controlli l'assegnazione in caso di conflitti

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 © 2024 vBulletin Solutions, Inc. All rights reserved.