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

    [MYSQL]Condizione WHERE con valore di un campo

    Ciao, ho la necessità di eseguire una query in cui la condizione sia uguale ad un valore di un campo, ho fatto una cosa del genere, ma non funziona

    SELECT t1.campo AS campo1,t2.campo AS campo2 FROM (tabella1 AS t1 LEFT JOIN tabella2 AS t2 ON t1.tid=t2.tid) LEFT JOIN tabella3 AS t3 ON t2.tid=t3.tid WHERE t1.campo LIKE '%t2.campo'

    In pratica t1.campo contiene una volore che è 3 lettere, e poi tutte cifre, invece t2.campo contiene tute cifre, io devo trovare tutti i valori di t1.campo le cui cifre sono uguali a t2.campo

    C'è una soluzione con una query, oppure devo fare tutto tramite php?

  2. #2

  3. #3
    Originariamente inviato da filippo.toso
    Puoi utilizzare SUBSTRING():

    http://dev.mysql.com/doc/refman/5.1/...unction_substr
    Non posso, perchè non sono sempre uguali le lettere iniziali, alcune volte sono 3, altre 4 o 5

  4. #4
    Originariamente inviato da jeck
    Non posso, perchè non sono sempre uguali le lettere iniziali, alcune volte sono 3, altre 4 o 5
    Per il futuro evita di indicare dei prerequisiti sbagliati (t1.campo contiene una volore che è 3 lettere, e poi tutte cifre).

    Puoi usare REGEXP, ma personalmente ristrutturerei il database in modo da evitare di indicare un campo con più valori.

  5. #5
    [QUOTE]Originariamente inviato da filippo.toso
    Per il futuro evita di indicare dei prerequisiti sbagliati (t1.campo contiene una volore che è 3 lettere, e poi tutte cifre).
    [/QUTE]
    Scusami, sopra ho sbagliato io a scrivere.

    Originariamente inviato da filippo.toso
    Puoi usare REGEXP, ma personalmente ristrutturerei il database in modo da evitare di indicare un campo con più valori.
    Il db non può essere ristrutturato, mi porta via troppo tempo, ed ho bisogno di fare una cosa rapida per me, perchè quei campi vengono gestiti da un'amministratore, e lui non ha voglia di riempire tutti i campi con tutti i valore, ma vuole mettere solo le cifre finali. Per lui ogni gruppo di inserimenti le lettere iniziali sono sempre uguali, ma per ogni gruppo cambia.

  6. #6
    Se il problema è solo in fase di inserimento, utilizza le sessioni per tenere a mente l'ultimo gruppo indicato e fornisci all'utente il campo parzialmente precompilato.

  7. #7
    Originariamente inviato da filippo.toso
    Se il problema è solo in fase di inserimento, utilizza le sessioni per tenere a mente l'ultimo gruppo indicato e fornisci all'utente il campo parzialmente precompilato.
    In pratica funziona in questo modo. Vengono inserite delle foto in ftp, poi trmite il pannello di amministrazione carica nel db i riferimenti di quelle foto, le foto si chiamano DSC_0053 o altri prefissi iniziali in base alla macchina utilizzata. Poi l'amministratore compila un file xls con i dati della persona rappresentata nella foto, e in quel file xls lui non vuole scrivere tutto il nome della foto DSC_0053 ecc, ma solo 53 perchè fa prima. Nel db le foto si trovano in una tabella, gli utenti un'altra, e le foto personali della persona in un'altra tabella. Quando quella persona deve scaricare le proprie foto interrogo la tabella utenti per prendere i sui dati, la tabella foto per prendere le foto, e la tabella della lista foto personali, che contiene solo i numeri. Io con una query vorrei prendere tutto, altrimenti potrei fare 2 query, una per prendere le foto e dati utente, e una per prendere le foto personali, poi tramite php fare i controlli.

  8. #8
    Utilizzando le REGEXP come faccio a richiamare il valore del campo?

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