premetto che non so proprio da che parte cominciare per costruire questa query, quindi chiedo aiuto a voi sin da subito, anche solo per dei suggerimenti.
non vorrei essere troppo pessimista, ma così, a rigor di logica mi sembra una cosa impossibile. dunque, io ho una tabella articoli di cui vi posto la struttura:
e questa immagine è un semplice esempio di come risulta strutturata:codice:CREATE TABLE `articoli` ( `id_attributo` bigint(20) NOT NULL auto_increment, `articolo` int(11) NOT NULL default '0', `colonna` bigint(20) NOT NULL default '0', `valore` varchar(255) NOT NULL default '', `lingua` bigint(20) NOT NULL default '0', `assegnato` smallint(6) NOT NULL default '0', PRIMARY KEY (`id_attributo`), FULLTEXT KEY `valore` (`valore`) )
questa tabella è collegata ad un'altra tabella traduzioni
e questo è lo screenshot della seconda tabella:codice:CREATE TABLE `traduzioni` ( `id_traduzione` int(11) unsigned NOT NULL auto_increment, `traduzione` varchar(255) NOT NULL default '', `id` int(11) unsigned NOT NULL default '0', `lingua` int(11) NOT NULL default '0', `attributo` smallint(6) NOT NULL default '0', PRIMARY KEY (`id_traduzione`) )
![]()
le due tabelle sono collegate tra di loro attraverso i campi colonna <--> traduzione.
io vorrei ottenere due tabelle da fondere ottenendo una macrotabella che abbia come intestazioni tutti i campi della tabella traduzioni, e fin qui non ci sono problemi, mentre la seconda tabella dovrebbe avere 19 colonne [tante quante sono le intestazioni] ed ogni record dovrebbe essere riempito con il valore corrispondente, e dove non c'è nessun valore ottenere il campo NULL.
ho riportato solo 4 colonne per comodità; naturalmente non voglio ottenere tutto con una query, questo penso sia davvero impossibile, ma orttenere le intestazioni [e questo l'ho fatto, che era una scicchezza], e con una seconda query ottenere le righe restanti che contengono i valori.codice:+----------------------------------------+ | codice | colore | lunghezza | diametro | +----------------------------------------+ | 012345 | nero | 15 m | NULL | +----------------------------------------+ | 987654 | bianco | NULL | NULL | +----------------------------------------+ | 159730 | NULL | 7.5 m | 2 mm | +----------------------------------------+
In lternativa lo potrei fare da script, in quanto impaginando i dati da php riesco a farlo con un ciclo, facendo un ciclo che scorre i dati e che arrivato a 19 chiude e apre un nuovo tr; ma il problema è che io devo ottenere un file csv per poter poi mandare il tutto in traduzione e la pagina html non va bene.
Se potessi creare un file di excel così impaginato sarebbe il massimo
si accettano suggerimenti in entrambi i sensi, preferibilmente seguedno la prima via.
se qualcosa non è chiaro chiedo scusa, chiedete pure.
Ringrazio sin da ora chi mi saprà dare una mano.



Rispondi quotando