Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25

Discussione: [SQL]Query Substring

  1. #1

    [SQL]Query Substring

    Buon giorno a tutti, vorrei sapere per favore, come gestire la substring direttamente da SQL.
    Mi spiego, devo eseguire una JOIN, di due tabelle che hanno due campi uno da 10 e un'altro da 12 valori alfanumerici es:
    Campo1 = 1wer901234
    Campo2 = 12wer9101234

    Praticamente la substring dovrebbe riguardare il Campo2 e devo prendere in considerazione i valori come in questo esempio:
    Codice PHP:
    $Matricola1         substr($MatDB01);
    $Matricola2         substr($MatDB23);
    $Matricola3         substr($MatDB67); 
    Grazie mille

  2. #2
    praticamente questa dovrebbe essere la query, ma non funziona:
    codice:
    select distinct(b.Matricola) 
    FROM TBSEGNALA_copy a JOIN TBBOL b ON 
    a.nCodImmobile=CONCAT(SUBSTRING(b.Matricola,0,1), SUBSTRING(b.Matricola,2,3), SUBSTRING(b.Matricola,6,7))
    where a.nCodImmobile = '1wer901234'
    come mai?dove sbaglio?

  3. #3
    ho fatto un'errore nella condizione Where erroneamente avevo inserito il '9' al ponsto del '1' dopo la lettera 'r'.
    Ma anche cosi non mi funziona...
    codice:
    //la matricola è questa 12wer9101234
    select distinct(b.Matricola) 
    FROM TBSEGNALA_copy a JOIN TBBOL b ON 
    a.nCodImmobile=CONCAT(SUBSTRING(b.Matricola,0,1), SUBSTRING(b.Matricola,2,3), SUBSTRING(b.Matricola,6,7))
    where a.nCodImmobile = '1wer101234'

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Il primo carattere della stringa ha indice 1, non 0.

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Spero che la tua tabella sia piccola, perché una join fatta in quel modo massacra le prestazioni.
    E comunque non si dice "non funziona", si spiega qual è il problema

  6. #6
    dici in questo modo?
    codice:
    //prima
    CONCAT(SUBSTRING(b.Matricola,0,1)
    
    //dopo
    CONCAT(SUBSTRING(b.Matricola,1,1)

  7. #7
    Originariamente inviato da luca200
    Spero che la tua tabella sia piccola, perché una join fatta in quel modo massacra le prestazioni.
    E comunque non si dice "non funziona", si spiega qual è il problema
    massacra le prestazioni?e cioè?

  8. #8
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    cioè E' LENTA

  9. #9
    ma almeno sintatticamente è corretta?

    se puoi farmi vedere per favore come ottimizzarla....grazie mille

  10. #10
    potete aiutarmi per favore?

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.