Выберите результат, в котором два столбца равны, а один отличается, и объединение другого результата в одну строку. - PullRequest
0 голосов
/ 05 января 2019

Я должен сделать выбор из двух таблиц. Это таблица, которая связывает две таблицы вместе. Но я бы хотел, чтобы третья таблица имела значение, отличное для всех таблиц, чтобы они объединялись в ряд, а не отображались по отдельности.

стол 1 человек

Id  Name  Last_name  
1    pop       viktor
2    marian   emil

Таблица 2, Занятие

Id      oc_name
1        driver
2        manager
3        officer

Таблица 3 assign_val

Id       id_person    id_oc          last_login
1         1               1          12/12/18
2         1               1          13/12/18
3         1               1          14/12/18

Мой код

$selet = mysqli_query($con, SELECT * FROM assign_val a INNER JOIN person p ON p.Id = a.id_person INNER JOIN ocupation o ON o.Id = a.id_oc);
while($row = mysqli_fetch_array($select)){

}

Этот запрос генерирует три отдельные строки, так что это не хорошо! Я должен сгенерировать только один крест и объединить значения:

12.12.18. "-." 13/12/18. "-". 14/12/18

Показать это в один ряд. Большое спасибо! Счастливого нового года!

1 Ответ

0 голосов
/ 05 января 2019

Я не уверен, что я вполне понимаю, чего вы хотите, но я надеюсь, что это то, что вы хотите. Я вставил таблицы, которые вы дали, и выполнил этот запрос, и он дал мне результат ниже. Просто к сведению, разделителем по умолчанию для метода GROUP_CONCAT является запятая.

SELECT GROUP_CONCAT(last_login SEPARATOR '-')
FROM assign_val a INNER JOIN
     person p
     ON p.Id = a.id_person INNER JOIN
     occuptation o
     ON o.Id = a.id_oc

Результат:

2012-12-18-2013-12-18-2014-12-18
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...