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

    comando sql per confronto tabelle

    ciao a tutti

    vorrei sapere se è possibile, tramite comando sql popolare il campo di una tabella confrontando alcuni valori.
    mi spiego meglio.

    - ho una tabella 'comuni' ( id | nome | area ) e una tabella 'locali_commerciali' ( id | nome | comune | zona )
    - siccome parliamo di oltre 1000 attività nella seconda tabella che non sono popolate nel campo "zona" vorrei che:

    - un comando sql incrociasse il campo "locali_commerciali.comune" confrontandolo con "comuni.nome"
    - fatto questo inserisse il valore "comuni.area" in "locali_commerciali.zona"

    quindi: un record di questo genere in locali_commerciali
    id | nome | comune | zona
    1_attività1___roma____0

    vada a trovare il record nella tabella comune con campo nome = "roma" e scrivesse "roma" nel campo zona della tabella locali commerciali rendendola

    id | nome | comune | zona
    1_attività1___roma____roma

    grazie dei vostri suggerimenti. buon sabato.
    ---------------------------
    danielix05

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    update locali_commerciali, comuni set zona = area where comune = comuni.nome

  3. #3

    grazie per la risposta

    ho provato il comando ma mysql mi risponde
    codice:
    Messaggio di MySQL:  
    
    #1064 - You have an error in your SQL syntax near ' comuni set zona = area where comune = comuni.nome' at line 1
    non credo sia un problema che alcuni comuni siano scritti in maiuscolo o minuscolo e quelli composti con underscore, vero?
    ---------------------------
    danielix05

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Certo che no.
    Che versione hai di mysql?

  5. #5

    mysql 5.0.45

    questa è la versione installata sul server
    ---------------------------
    danielix05

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da luca200
    update locali_commerciali, comuni set zona = area where comune = comuni.nome
    Tu sei MOLTO MOLTO sicuro di averlo scritto esattamente così?

  7. #7

    ci riprovo...

    apro il plesk, amministrazione remota db, apro la tabella locali_commerciali, vado sulla scheda SQL, riscrivo
    codice:
    update locali_commerciali, comuni set zona = area where citta = comuni.nome
    2 prova
    codice:
    update locali_commerciali, comuni set locali_commerciali.zona = comuni.area where locali_commerciali.citta = comuni.nome
    l'errore è sempre il 1064

    ps= ho fatto le prove anche con MySQL - 3.23.58 e tutte le ho eseguite dal pannello phpmyadmin, sarà questo l'errore!!!?!?!?!
    ---------------------------
    danielix05

  8. #8
    ---------------------------
    danielix05

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.