Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    Select multipla su stesso valore

    Salve, ho una pagina da cui recupero un valore tramite GET, tramite questo valore estraggo tutta la riga con una semplice query, tuttavia poniamo che il valore preso da GET sia 'valore1', visto che 'valore1' è una chiave univoca può essercene soltanto 1, però ad esempio se ci spostiamo dal campo valore a quello nome, notiamo che possono esserci due nomi uguali ad esempio nel campo nome possone esserci due nomi 'prova'. Io vorrei prima selezionar ela riga, e poi prende dalla riga in questione il campo nome e poi far selezionare di nuovo tutti gli elementi con lo stesso nome per copiarli in un'altra tabella e poi cancellarli dalla prima.
    Al momento ho fatto questo codice:
    codice:
    "INSERT tabella1 (nome) SELECT nome FROM tabella2 WHERE valore = '$valore1'";
    Il problema è che non riesco a capire come devo fare per rifare la Select con quel valore specifico del campo 'nome'. Una volta che seleziono la riga poi come faccio? Esiste un comando tipo SELECT ALL o simili?
    Grazie in anticipo!!

    P.S. Dimenticavo di scrivere che la pagina è in .php se può servirvi....

  2. #2

    Re: Select multipla su stesso valore

    Originariamente inviato da _Marco_87
    P.S. Dimenticavo di scrivere che la pagina è in .php se può servirvi....
    siamo nel forum database, va indicato il db, come da regolamento (una letturina prima di postare ?)

  3. #3
    In che senso và indicato il database? Intedi la connessione al database, oppue ad esempio mysql o access per esempio? Se è l'ultima domanda la connessione è a un database mysql.
    Comunque il fatto che: "la pagina è .php" è solo una precisazione, il problema è che non conosco una formulazione corretta per estrarre i dati dal database come voglio.
    Comunque ancora non trovo la soluzione.
    Mi interesserebbe sapere se posso fare prima la Select sul record che mi interessa, ovvero 'valore1' e poi usare il valore della colonna nome corrispondente al record selezionato per estrarre tutti gli altri nomi che sono uguali al nome di 'valore1', anche se poi contengono nel campo valore: 'valore2, valore3 , ecc'.

  4. #4
    Ciao,

    Il tuo problema e' un caso particolare di subquery
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  5. #5
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    in Access sarebbe cosi:
    codice:
    SELECT 
    T.Id, 
    T.Nome
    FROM 
    Tabe AS T
    WHERE 
    T.Nome=(SELECT X.Nome FROM Tabe AS X WHERE X.Id=[TuoValore])
    Ma non sono convinto che in MySql puoi lavorare tranquillamente con le sottoquery (SottoViste)

    forse la devi suddividere in 2 Viste distinte fai qualche prova

    .

  6. #6
    Sono andato a vedere, dopo un'oretta di tentativi mi ritrovo con questa situazione:

    codice:
      mysql_query("SELECT * FROM tabella2 WHERE valore = '$valore1'(INSERT INTO tabella1 (nome) SELECT nome FROM tabella2 WHERE tabella2.valore = tabella2.'$valore1') )");
    E' un mio tentativo di subquery, ma purtroppo non funziona, però da quello che ho capito dovrei specificare così. Alla fine quando scrivo tabella2.valore = tabella2.'$valore1', l'esempio dice di mettere tabella1.valore = tabella2.'$valore1', il problema è che io in tabella1 i dati che stampa la colonna valore non li ho messi, in quanto è come se fosse un id della seconda tabella, e non ha nulla a che fare con la prima, quindi il campo non esite.

  7. #7
    Prova con questa, ti recupera tutti gli id che corrispondono al nome dell'id selezionato:

    SELECT
    B.ID,
    B.NOME
    FROM
    TABELLA_AAA AS A, TABELLA_AAA AS B
    WHERE
    A.ID=111 AND A.NOME=B.NOME


    Ciao
    Mik

  8. #8
    Holyday ho provato il tuo codice con 2 record. Il problem aun pò strano è che quando provo a fare la stampa di ciò che ho selezionato per vedere se è corretto mi appare la scritta:
    codice:
    Resource id #7
    Visto che la stessa scritta appare su entrambi i record, che hanno id diversi non sò cosa voglia dire, e in ogni caso non mi aggiorna i dati.
    Comunque proverò ancora, magari manipolando un pò la query può uscire qualcosa (già fatti comunque dei tentativi).

  9. #9
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Devo dire che ho provato il tipo di query proposto da Holidaysoft.it e mi piace molto ( oltre naturalmente a funzionare )
    Rispetto a quella proposta da me ha il vantaggio che non ha la sottoquery


    il "Resource id #7" non capisco cosa sia ma penso che non abbia a che fare con il linguaggio SQL
    mi sa che arriva da php che non conosco


    .

  10. #10
    Forse il problema potrebbe essere che io l'ho provato su una pagina di tipo .php e tu su una di tipo .asp., però mi sembra comunque strano, perchè in fondo è una comunicazione al database mysql. Forse funziona solo per database access questo tipo di query?

    P.S. Dimenticavo di specificare che 7 non corrisponde all'id di nessuno dei due record in questione.

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.