[PHP] Problemi con query unione

Max61

Utente Attivo
2 Mar 2014
740
4
18
Salve, come da titolo ho problemi con la query unione che allego sotto, ovviamente non mi aggiorna il campo Stato nella tabella tbltablet
PHP:
UPDATE
tbltablet
INNER JOIN
tblmateriale
ON
tbltablet.Stato = tblmateriale.Stato
SET
tbltablet.Stato = tblmateriale.Stato
WHERE
tblmateriale.Rilevatore ='$Rilevatore' AND tblmateriale.Anno='$Anno'
Mi sapete aiutare?
Grazie
Max61
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
non potrà mai funzionare, perché vuoi rendere uguale il valore di queste due colonne,
SET tbltablet.Stato = tblmateriale.Stato
e se lo fai, vuol dire che i valori sono diversi,
quindi non potrà mai essere vera la condizione
ON tbltablet.Stato = tblmateriale.Stato

ti scrivo la query in modo diverso,
PHP:
UPDATE tbltablet t
SET t.Stato = (
SELECT m.Stato
FROM tblmateriale m
WHERE m.? = t.?
AND m.Rilevatore ='$Rilevatore'
AND m.Anno='$Anno'
LIMIT 1)
devi però sistemare la condizione nella riga "WHERE" perché nella tua query non é indicata

ATTENTO ad eseguirla perché manca una clausola "WHERE" che limiti l'update
ovvero tutti gli elementi della tabella "t" vengono aggiornati
secondo me, se la esegui così, ottieni risultati errati

considera anche che la select che restituisce il valore, ne deve restituire 1 solo !

forse é meglio che descrivi cosa ti serve a parole, senza scrivere una query ….
 
Ultima modifica di un moderatore:

Max61

Utente Attivo
2 Mar 2014
740
4
18
Grazie Marino51, infatti è meglio che ti spieghi a parole
Ho due tabelle con lo stesso campo $stato
tbltablet
tblmateriale
in pratica vorrei che quando aggiorno il campo $stato della tabelle tblmateriale in contemporanea mi aggiornasse il campo $stato della tabella tbltablet ovviamente deve aggiornare la riga corrispondente, quindi o LIMIT 1 oppure WHERE id='$id'.
Grazie
Max61
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Ciao Marino51, allora mi sa che non è possibile fare quello che ho in mente, perché le due tabelle sono svincolate ed indipendenti...
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Ciao Marino51, ho provato la tua query, se la lancio da phpmyadmin mi aggiorna il campo stato della tabella tbltablet con il valore campo stato della tabella tblmateriali come vorrei che fosse.
Se invece la lancio dalla pagina php non funziona

PHP:
UPDATE tbltablet t
SET t.stato = (
SELECT m.stato
FROM tblmateriale m
WHERE t.Rilevatore = m.Rilevatore
AND m.Rilevatore ='$Rilevatore'
AND m.Anno='$Anno'
LIMIT 1)
mi sai dare una dritta sul motivo?
Grazie
Max61
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
mi aggiorna il campo stato della tabella tbltablet con il valore campo stato della tabella tblmateriali come vorrei che fosse
si, ma stai attento perché tra le due tabelle non c'é attinenza, penso che il risultato che ottieni sulla tbltablet sia casuale

Se invece la lancio dalla pagina php non funziona
credo ci sia un errore nella scrittura del codice php,
pubblica il codice dove é presente la query e la sua esecuzione (il pezzetto di codice php che contiene la query)
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Ho fatto altre prove e passandogli i parametri nome e anno direttamente aggiorna i campi dei record interessati ma cancella quello scritto negli altri record...CONFUSIONE TOTALE.
O mi dai una dritta su come correllare le due tabelle o lasciamo perdere
 

Max61

Utente Attivo
2 Mar 2014
740
4
18
Allego le tabelle che adesso indipendenti.
Grazie ancora
Max61
 

Allegati

  • Tabelle.zip
    1,8 KB · Visite: 360

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
prova queste soluzioni, secondo me, potrebbero funzionare entrambe (ma ti ricordo che non ho mySql)
sol 1
Codice:
UPDATE tbltablet
   SET stato =
(
SELECT stato
  FROM tblmateriale
 WHERE Rilevatore = tbltablet.Rilevatore
   AND Anno = tbltablet.Anno
 LIMIT 1
)
 WHERE Rilevatore = 'Max61'
   AND Anno = '2019'
sol 2
Codice:
UPDATE tbltablet
   SET tbltablet.stato = tblmateriale.stato
  FROM tblmateriale
 WHERE tbltablet.Rilevatore = tblmateriale.Rilevatore
   AND tbltablet.Anno = tblmateriale.Anno
   AND tblmateriale.Rilevatore = 'Max61'
   AND tblmateriale.Anno = '2019'
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Problemi con la stampa dei valori in php PHP 1
S Problemi delle funzioni eliminate con PHP e MySQL PHP 4
S Problemi con modulo upload video php (help!) PHP 0
E [PHP] problemi nuova riga con fwrite su piattaforma android PHP 5
M [PHP] Problemi con select PHP 6
M [PHP] Problemi con il riconoscimento login. PHP 21
M Problemi con database Apache/2.4.37 (Win32) OpenSSL/1.1.1a PHP/7.3.1 PHP 6
S [PHP] problemi con le sessioni PHP 3
T [PHP] problemi con il browser PHP 0
M [PHP] Problemi con login facebook PHP 0
F [PHP] Problemi di base con bot di telegram PHP 9
G Problemi con pagina online.php di una chat in php PHP 38
S Problemi con impostazioni php PHP 3
S [PHP] Problemi con Login e pagina Utente PHP 5
P [PHP] problemi con session_start PHP 15
webmachine [PHP] Problemi con Login e pagina Utente PHP 3
L Refresh include php con jquery problemi negli script dopo load jQuery 2
F Problemi login con lo script php PHP 2
C Problemi con esercizi di php PHP 0
B Problemi con pannello di controllo PHP PHP 0
B Problemi con pannello di controllo PHP PHP 0
D PROBLEMI invio posta con php PHP 3
F nl2br di php crea problemi con javascript PHP 7
S problemi con ajax e php Ajax 3
R problemi con un vostro tutorial php. PHP 0
1 problemi con invio PHP PHP 11
M Problemi con apache non interpreta script php Apache 6
tanaka Problemi con Php , css e safari PHP 5
S problemi ad inviare mail in locale con php PHP 13
C Problemi con query Php PHP 1
M Problemi con Forum PHP crezione guidata PHP 1
V PROBLEMI CON IL pHP PHP 1
P Problemi con pagine php PHP 2
M Formail PHP - Problemi con account AOL PHP 1
W click tracking , problemi con la visualizzazione del php aiuto urgente PHP 1
S PHP - ACCESS --> problemi con query PHP 0
K problemi con php PHP 0
M Problemi con la configurazione di Php 4.2.3 come modulo Apache 1.3.27 PHP 0
Z Problemi con l'installazione php 4.3.9 PHP 0
F problemi con php PHP 3
N php problemi a visualizzare video PHP 3
L Problemi form Pagina php HTML e CSS 3
M [PHP] Problemi su inserimento array nel db PHP 7
M [PHP] Problemi di salvataggio su campo calcolato PHP 0
spider81man [PHP] Problemi cancellazione dato su DB [RISOLTO] PHP 1
D problemi login php 5.6 mysql PHP 1
M Problemi tra GROUP BY e tabella 'datagrid.class.php' PHP 6
ANDREA20 problemi carrello in php PHP 0
ANDREA20 [PHP] Problemi carrello commerciale PHP 0
giuseppe_123 Problemi form php/html PHP 33

Discussioni simili