diff --git a/src/main/libs/clients/MySQLClient.js b/src/main/libs/clients/MySQLClient.js index 99e89615..f042effd 100644 --- a/src/main/libs/clients/MySQLClient.js +++ b/src/main/libs/clients/MySQLClient.js @@ -353,7 +353,8 @@ export class MySQLClient extends AntaresCore { name: field.name, orgName: field.orgName, schema: field.db, - table: field.orgTable, + table: field.table, + orgTable: field.orgTable, type: 'varchar' }; }) : []; diff --git a/src/renderer/components/WorkspaceQueryTab.vue b/src/renderer/components/WorkspaceQueryTab.vue index 05ecdfc7..5e1e9440 100644 --- a/src/renderer/components/WorkspaceQueryTab.vue +++ b/src/renderer/components/WorkspaceQueryTab.vue @@ -106,7 +106,7 @@ export default { return resultsWithRows[index].fields.map(field => { if (field.table) cachedTable = field.table;// Needed for some queries on information_schema return { - table: field.table || cachedTable, + table: field.orgTable || cachedTable, schema: field.schema || 'INFORMATION_SCHEMA' }; }).filter((val, i, arr) => arr.findIndex(el => el.schema === val.schema && el.table === val.table) === i); @@ -158,8 +158,12 @@ export default { if (selectedFields.length) { fields = fields.map(field => { - const alias = result.fields.find(resField => resField.orgName === field.name).name || field.name; - return { ...field, alias }; + const aliasObj = result.fields.find(resField => resField.orgName === field.name); + return { + ...field, + alias: aliasObj.name || field.name, + tableAlias: aliasObj.table || field.table + }; }); } diff --git a/src/renderer/components/WorkspaceQueryTableRow.vue b/src/renderer/components/WorkspaceQueryTableRow.vue index 2689f33c..4393d0e9 100644 --- a/src/renderer/components/WorkspaceQueryTableRow.vue +++ b/src/renderer/components/WorkspaceQueryTableRow.vue @@ -288,10 +288,18 @@ export default { return this.fields.filter(field => field.name === cKey || field.alias === cKey || + `${field.table}.${field.name}` === cKey || `${field.table}.${field.alias}` === cKey || + `${field.table.toLowerCase()}.${field.name}` === cKey || - `${field.table.toLowerCase()}.${field.alias}` === cKey)[0]; + `${field.table.toLowerCase()}.${field.alias}` === cKey || + + `${field.tableAlias}.${field.name}` === cKey || + `${field.tableAlias}.${field.alias}` === cKey || + + `${field.tableAlias.toLowerCase()}.${field.name}` === cKey || + `${field.tableAlias.toLowerCase()}.${field.alias}` === cKey)[0]; }, isNull (value) { return value === null ? ' is-null' : ''; diff --git a/src/renderer/components/WorkspaceTableTab.vue b/src/renderer/components/WorkspaceTableTab.vue index e84f7d0e..748408dc 100644 --- a/src/renderer/components/WorkspaceTableTab.vue +++ b/src/renderer/components/WorkspaceTableTab.vue @@ -1,5 +1,5 @@