SELECT var1,var2,var3,table_name
FROM table1 LEFT JOIN table_name on var3=table_name.id
Significato voglio lasciato dinamicamente unirsi tavolo, a seconda del valore della table_name
da table1
, dal momento che var3
è preso da lì.query MySQL utilizzando variabile come nome della tabella in LEFT JOIN
Ma i risultati della query di cui sopra in
tabella nome_tabella non esiste
Il mio errore di limitazione mysql?
Non penso che si possa fare questo. Probabilmente dovrai passare il nome della tabella in una stored procedure se desideri questo tipo di funzionalità o riprogettare ciò che stai cercando di fare. – spig
Non è una limitazione di MySQL. Più come la limitazione SQL, se puoi chiamarla così, ma direi piuttosto, è un'indicazione che qualcosa non va nella progettazione del tuo database. – Mchl
La tabella principale contiene oggetti. Ogni oggetto può avere attributi. Ci sono tabelle separate per ogni attributo che elenca i valori possibili - i valori possono essere molto lunghi (diverse centinaia di caratteri) e ci sono molti valori possibili (migliaia). Quindi la tabella principale ha 2 campi per attributo: attr_table_name, attr_table_id - per risparmiare spazio e per consentire la modifica del nome dell'attributo. Quando si esegue una query, restituisco il valore dell'attributo effettivo, non l'ID, ecco perché ho bisogno di SINISTRA SINISTRO e denominazione di tabelle dinamiche. In quale altro modo si progetterà il DB? – selytch