Ciao
ho 3 tabelle di un db mysql che sono legate in questo modo:
Table geo_provincia
===================
id, provincia, crc
Table geo_zona
==============
id, crc, zona, id_provincia, str_crc
Table geo_macroarea
===================
id, crc, macroarea, id_zone, id_provincia, ordine
Sia geo_zona che geo_macroarea hanno l'id_provincia, quindi nessun particolare problema per l'inner join
La tabella geo_macroarea, però, ha nel campo id_zone un valore che può essere null oppure un numero indefinito di id (della tbl geo_zona) separati da virgola
Con una regexp dinamica per un altro scopo riuscivo ad estrarre record, ma come posso fare una query di questo tipo per filtrare determinate zone associate a determinate province e macroaree?
In particolare come posso modificare la sintassi della regexp?
La query sarebbe questa, che ovviamente da errore
codice:
SELECT geo_zona.id, geo_zona.zona, geo_provincia.provincia FROM geo_zona INNER JOIN geo_provincia ON geo_provincia.id = geo_zona.id_provincia INNER JOIN geo_macroarea ON geo_macroarea.id_zone REGEXP ^geo_zona.id$|^geo_zona.id,|,geo_zona.id,|,geo_zona.id$ WHERE geo_zona.id_provincia = 1 ORDER BY geo_zona.zona