1 / 1 / 0
Регистрация: 20.02.2012
Сообщений: 13
|
||||||||||||||||
1 | ||||||||||||||||
Сбор в один столбец запроса данных из столбцов 2-х разных таблиц.20.02.2012, 17:04. Показов 9985. Ответов 5
Метки нет Все метки)
(
Добрый день.
Сразу оговорюсь - изменить базу данных не вариант, так как она уже есть и заполнена и работает + это бесплатный проект(GLPI), который должен без вопросов обновляться. А теперь собственно вопрос. Есть база MySQL система заявок. Есть 5 таблицы: glpi_tickets (заявки), glpi_computers (компьютеры), glpi_printers (принтеры), glpi_entities (организации), glpi_locations (местонахождение). Структура таблиц: 1. glpi_tickets: id - номер; title - название; status - статус; itemtype - тип девайса; items_id - идентификатор девайса; entities_id - идентификатор организации. 2. glpi_computers - id - идентификатор; name - имя; locations_id - ID местонахождения. 3. glpi_printers - id - идентификатор; name - имя; locations_id - ID местонахождения. 3. glpi_entities - id - идентификатор; name - имя. 3. glpi_locations - id - идентификатор; name - имя. Задача выбрать из tickets все заявки и сделать таблицу где есть номер заявки, имя заявки, тип устройства, ИМЯ УСТРОЙСТВА, организация (владелец устройства), местоположение устройства. Проблема в том что имя надо выбирать из столбцов "name" 2-х разных таблиц (тип столбцов идентичен). Я решил эту задачу путем UNION можно решить её подругому? Решение без вывода Имени устройства:
ticket_id title status itemtype entity location 1 123 assign Printer Организация 2 Место 2 2 345 solved Printer Организация 3 Место 3 8 369 assign Monitor NULL Место 1 7 586 assign Computer Организация 1 Место 1 6 678 assign Computer NULL Место 1 Решение с выводом Имени устройства и UNION:
ticket_id title status itemtype name entity location 7 586 assign Computer Computer 1 Организация 1 Место 1 6 678 assign Computer Computer 1 NULL Место 1 1 123 assign Printer Printer 2 Организация 2 Место 2 2 345 solved Printer Printer 3 Организация 3 Место 3 попытка решить без UNION
ticket_id title status itemtype name name entity location 1 123 assign Printer Printer 2 NULL Организация 2 Место 2 2 345 solved Printer Printer 3 NULL Организация 3 Место 3 8 369 assign Monitor Microsoft XPS Document Writer Computer 1 NULL Место 1 7 586 assign Computer Microsoft XPS Document Writer Computer 1 Организация 1 Место 1 6 678 assign Computer Microsoft XPS Document Writer Computer 1 NULL Место 1 то есть колонка имени "раздвоилась" как её соединить? Извините, если сумбурно, я новичок, задавайте вопросы - уточню что непонятно. Добавлено через 8 минут Я бы выложил скрины, но что то не пойму как ...
0
|
|
20.02.2012, 17:04 | |
Ответы с готовыми решениями:
5
Сбор данных с разных xls таблиц в одну итоговую таблицу Сбор данных из разных таблиц по признаку зелёного цвета выделения Как объединить два запроса с разных таблиц в один? |
1 / 1 / 0
Регистрация: 20.02.2012
Сообщений: 13
|
|
20.02.2012, 17:09 [ТС] | 2 |
вот скрин табличек
0
|
58 / 50 / 16
Регистрация: 23.06.2011
Сообщений: 122
|
|||||||||||
20.02.2012, 18:52 | 3 | ||||||||||
А чем, собственно, UNION не устраивает...?
Можно сделать посредством создания переменной типа таблица.
ой-ой-ой...затупил...последняя строчка:
0
|
1 / 1 / 0
Регистрация: 20.02.2012
Сообщений: 13
|
|
20.02.2012, 19:32 [ТС] | 4 |
не устраивает, то, что на сколько я понимаю он каждый раз будет по новой шерстить таблицу tickets, с учетом того что он будет ее пробегать для принтеров, мониторов, компьютеров, сетевого оборудования это будет 4 прохода, а хотелось бы все сделать за один.
и + код раздувается неимоверно. ну и наконец просто очень интересно, я третий день голову ломаю как это можно сделать красиво.... я почему то уверен что есть красивое и простое решение этой задачки, вот только сам его пока не могу найти ![]()
0
|
1 / 1 / 0
Регистрация: 20.02.2012
Сообщений: 13
|
||||||
24.02.2012, 14:09 [ТС] | 5 | |||||
нашел решение. вдруг кому пригодиться.
0
|
1109 / 754 / 182
Регистрация: 27.11.2009
Сообщений: 2,247
|
|
24.02.2012, 14:14 | 6 |
Странно обсуждать запросы MySQL на форуме по MSSQL
0
|
24.02.2012, 14:14 | |
Помогаю со студенческими работами здесь
6
SELECT - запрос: выбрать данные из двух таблиц из разных столбцов и поместить в один
Сведение данных с разных столбцов в один Выбор данных из разных таблиц в один dgv. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |