Результаты SQL, возвращенные в формате tablename.формат fieldname

#sql

#sql

Вопрос:

Когда я запускаю запрос, который выбирает поля из нескольких таблиц, то есть для объединения, я бы сделал что-то вроде:

 SELECT table1.field1, table2.field2 FROM table1 JOIN table2 ON table1.field1 = table2.field1;
  

Когда возвращаются результаты запроса, подобного этому, массив содержит в качестве индекса только имена полей, а не комбинацию tablename .fieldname, и мне интересно, возможно ли заставить его возвращать данные в этом формате, потому что это требуется плагином, который я использую.

Спасибо.

РЕДАКТИРОВАТЬ: Я думал о создании псевдонима, но способ работы плагина заключается в том, что он принимает столбцы, которые я ему даю, буквально, а затем ищет эти ТОЧНЫЕ имена в массиве. По сути, я предоставляю ему столбцы, он динамически получает данные и отображает их. Итак, если я задам ему ‘table1.field1 КАК псевдоним’, он будет искать это, но результирующее поле будет просто ‘alias’.

ПРАВКА 2: я нашел решение своей проблемы, это не было решением SQL. Я обработал результирующий массив запроса с помощью PHP, чтобы вернуть его в формат, в котором мне нужно было находиться.

Ответ №1:

Одним из вариантов является использование псевдонимов для столбцов.

Комментарии:

1. Вы имеете в виду ВЫБОР table1.field1 В КАЧЕСТВЕ псевдонима … и т.д… Если это то, что вы имеете в виду, я думал об этом, но способ работы плагина заключается в том, что он принимает столбцы, которые я ему даю, буквально, а затем ищет эти ТОЧНЫЕ имена в массиве. По сути, я предоставляю ему столбцы, он динамически получает данные и отображает их. Итак, если я задам ему ‘table1.field1 КАК псевдоним’, он будет искать это, но результирующее поле будет просто ‘alias’.

2. @Key: он будет искать это, но результирующее поле будет просто ‘alias’ что вы имеете в виду под этим?

3. Прошу прощения за путаницу, если вы посмотрите на мои ответы на M.R. это может немного прояснить, что я имею в виду.

Ответ №2:

Нет способа сделать это автоматически. Вы можете просто присвоить им псевдонимы, хотя —

 
SELECT table1.field1 as [table1.field1], table2.field2 as [table2.field2] FROM table1 JOIN table2 ON table1.field1 = table2.field1 
  

Комментарии:

1. Смотрите мой ответ Гарри Джой, та же проблема. Хотя это ответило бы на мой вопрос… Вероятно, мне следовало быть немного более точным. Я также отредактировал свой первоначальный вопрос с учетом этого ответа.

2. не уверен, что понимаю. Если ваш выводимый псевдоним ‘table1.field1’, почему плагин не будет использовать именно ЭТО? Вы говорите, что это удаляет часть ‘table1’?

3. Я использую плагин jQuery table для передачи имен столбцов PHP-скрипту, и этот скрипт динамически создает запрос для получения запрошенных данных, затем возвращает их плагину в формате JSON для отображения на странице. Итак, для таблиц, которым нужны объединения, я должен использовать tablename. формат fieldname, а затем, когда выполняется запрос, tablename удаляется из индекса в массиве. Итак, когда плагин jQuery ищет столбцы в tablename. формат fieldname, он не может их найти, потому что это просто имя поля.

4. Если бы я должен был использовать псевдоним, я бы сказал ему ‘table1.field1 КАК псевдоним’ для столбца, и при запуске sql просто псевдоним был бы частью индекса массива, но плагин искал бы ‘table1.field1 КАК псевдоним’. Если это имеет смысл

5. Понял. Я предполагаю, что вы не можете изменить плагин?