+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 7 su 7

[MySQL]Confronto tra tabelle ed inserimento dati - Comando JOIN (Credo)

  1. #1
    Monital non è in linea Scolaretto
    Salve a tutti, provo anche qui a spiegare un bel problemino che ho, sperando che questa comunità possa essermi d'aiuto, come sempre d'altra parte,

    cerco di spiegarmi

    ho diverse tabelle ma in questo caso poniamo il caso trattasi di 2

    TABELLA 1
    ID Nome Cognome CATEGORIA
    1 Pppo Pluto SUPER
    2 Topolino Minni TOP

    la tabella 2 e 3 invece hanno altri attriubti

    ma hanno in comune il campo categoria

    esempio
    TABELLA 2
    ID Nome Nazione Residenza ATTRIBUTI

    1___PIppo___America___Topolinia ____SUPER

    in questo caso ATTRIBUTI e CAEGORIA devono coincidere

    Considerando che il campo che cambia è CATEGORIA nella tabella 1 vorrei che lo script che farò in php confronta il nome in tabella 2 lo cerchi in tabella 1 e gli attricuisca in ATTRIBUTI la CATEGORIA

    spero di essemri spiegato

    ho capito che ci buole il join per il raffronto delle tabelle ma non riesco a far modificare ATTRIBUTI in basea CATEGORIA

    Resto in attesa di un vostro aiuto

    GRAZIE

    questa diciamo che è la categoria principale

  2. #2
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Non si è capito nulla. Non si è capito neanche se le tabelle sono due o tre. ma soprattutto non si è capito cosa intendi ottenere.
    Ritenta. Con calma.
    ℹ️ Leggi di più su Brontolo ...

  3. #3
    Monital non è in linea Scolaretto
    ok purtroppo nonsono molto bravo cerco di rispiegarmi in maniera + semplice

    ho due tabelle

    1 e 2

    la 1 è la tabella madre dove c'è un campo chiamamolo categoria che si aggiorna ogni mese

    ora la tabella 2 ha altri dati ma presenta un campo chiamamolo ATTRIBUTI(quindi con un nome diverso da CATEGORIA) che vorrei pescasse i dati dalla tabella 1 nel campo categoria quando trova il NOME uguale

    attualmente aggiorno la tabella 2 manualmente ma vorrei farlo fare automaticamente tramite uno script ma non so come far pescare i dati dall'una e copiarli nell'altra

    spero di essere stato un pò + chiaro e ti ringrazio già da ora per l'interessamento

  4. #4
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Quote Originariamente inviato da Monital Visualizza il messaggio
    ora la tabella 2 ha altri dati ma presenta un campo chiamamolo ATTRIBUTI(quindi con un nome diverso da CATEGORIA) che vorrei pescasse i dati dalla tabella 1 nel campo categoria quando trova il NOME uguale
    E' un errore di progettazione del database. Il campo ATTRIBUTI è ridondante. La sua esistenza determina proprio il problema che descrivi.

    Il valore del campo CATEGORIA di TABELLA1 lo "pescherai" all'occorrenza eseguendo una query che pone in JOIN sul campo NOME le due tabelle. Per questo sarebbe bene che il campo NOME fosse definito come chiave esterna.
    ℹ️ Leggi di più su Brontolo ...

  5. #5
    Monital non è in linea Scolaretto
    Quote Originariamente inviato da Brontolo Visualizza il messaggio
    E' un errore di progettazione del database. Il campo ATTRIBUTI è ridondante. La sua esistenza determina proprio il problema che descrivi.

    Il valore del campo CATEGORIA di TABELLA1 lo "pescherai" all'occorrenza eseguendo una query che pone in JOIN sul campo NOME le due tabelle. Per questo sarebbe bene che il campo NOME fosse definito come chiave esterna.
    scusami brontolo a sto giro so io che non ti ho capito

    in che senso ridondante ?

  6. #6
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Quote Originariamente inviato da Monital Visualizza il messaggio
    scusami brontolo a sto giro so io che non ti ho capito

    in che senso ridondante ?
    Nel senso che ridonda.

    Non mi capisci perché evidentemente ti mancano delle conoscenze di base nell'ambito della progettazione delle basi di dati e del linguaggio SQL. Che non è una tragedia; basta prendere un buon libro sull'argomento e colmare queste lacune.

    Tornando al tuo problema specifico, l'operazione di JOIN tra due o più tabelle (di cui hai vagamente sentito parlare) non serve a ricopiare il contenuto di un campo da una tabella ad un'altra (TABELLA1.CATEGORIA in TABELLA2.ATTRIBUTI) quando si verifica una certa condizione (TABELLA1.NOME = TABELLA2.NOME). Al contrario serve ad estrarre alcuni dati da ciascuna tabella in gioco creando un nuovo insieme di righe (o record) le cui colonne (o campi) provengono dalle diverse tabelle.

    Ripeto: leggi prima qualcosa sull'argomento, altrimenti continuerà a sembrarti tutto molto oscuro.
    ℹ️ Leggi di più su Brontolo ...

  7. #7
    Monital non è in linea Scolaretto
    ok brontolo ora inziio a capire sicuramente leggerò sull'argomento come ho sempre fatto solo che essendo autodidatta già ci ho messo una vita con il php e volevo risparmiarmi una altra di vita

    cmq credo che la cosa sia risolvibile con il php

    vediamo un pò che ne esce

    grazie comunque del tempo speso per i tuoi suggerimenti

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Recuperare dati da due tabelle & Inner join
    Da roccolamann nel forum Altri Database Server
    Risposte: 2
    Ultimo Post: 09-03-2016, 13:02
  2. Risposte: 9
    Ultimo Post: 22-12-2011, 16:04
  3. [Excel]: Confronto di dati di due tabelle.
    Da aetio nel forum Microsoft Excel
    Risposte: 2
    Ultimo Post: 01-06-2010, 14:02
  4. Errore di inserimento dati in Mysql
    Da marco_532 nel forum PHP
    Risposte: 7
    Ultimo Post: 06-02-2006, 15:37
  5. Excel : un comando semplice (credo..:p )
    Da sirelancillotto nel forum Microsoft Excel
    Risposte: 7
    Ultimo Post: 06-11-2004, 15:17