Есть ли способ разделить данные на несколько строк из нескольких столбцов?MySql

Форум по Mysql
Ответить
Anonymous
 Есть ли способ разделить данные на несколько строк из нескольких столбцов?

Сообщение Anonymous »

У меня есть таблица, в которой у меня есть следующие заголовки, < /p>
child_first_name, carer1_name, carer2_name, carer1_contact, carer2_contact, caress_together. < /p>
Создал представление, которое уменьшает это до следующих родителей, Parent_contact, детей, в которых я использовал групповой Concat для создания таблицы ниже < /p>



carer_name < /th>
carer_contact < /th>
child_name < /th>
< /tr>
< /thead>


carer_1 < /td>
carer_contact info < /td>
child_1, child_2 < /td>
< /tr>
< /tbody>
< /table > < /div>
У меня есть, чтобы он сработал, когда родители вместе будут отображаться как Parent1 & parent2, а столбец контакта будет отображаться как parent1_contact, контакт с родителями2, когда они вместе и учет потому что любое из этих значений отсутствовало. Будьте в курсе, не отправляя совместное электронное письмо. = "s-table-container">


carer_name < /th>
< th> carer_contact < /th>
child_name < /th>
< /tr>
< /thead>

carer_1 < /td>
carer1_contact info < /td>
child_1, child_2 < /td>
< /tr>

carer_2 < /td>
carer2_contact info < /td>
Child_1, child_2 < /td>
< /tr>
< /tbody>
< /table> < /div>
Я посмотрел другие ресурсы и нашел способы разделения данных по рядам, где все данные были изначально в одном столбце Полем Я попытался закрепить начальные данные в один столбец, а затем разделил их по рядам, но это дало мне ошибку SQL, и я не мог понять, почему- единственное объяснение, которое оно дало Версия SQL. Я относительно новичок в SQL- и все, что я могу сделать, основано в первую очередь из-за того, чтобы сделать вещи, чтобы сделать то, что я хочу сделать, чтобы этот проект работал. Мне потребовалось более года, чтобы доставить стол в это состояние. Кроме того, все примеры, которые я нашел, имел идентификатор, который был в исходной таблице, чтобы соединить разделенные данные с- тогда как данные, с которыми я хотел бы соединить разделенные данные, сформированы Group_concat первой_names. Br /> Мой текущий код ниже, где «TBC» будет той частью, которая, как мы надеемся, разделить Carer_1. Пожалуйста, прощайте любой неаккуратный код или, если я пропустил что -то очевидное в своем исследовании. Я готов признаться, что я далеко за пределами своей глубины. < /P>
SELECT
(
CASE WHEN(
(
`Table_Name`.`carers_together` = '1'
) AND(
LENGTH(
`Table_Name`.`Carer1`
) > 0
) AND(
LENGTH(
`Table_Name`.`Carer2`
) > 0
)
) THEN CONCAT_WS(
' & ',
`Table_Name`.`Carer1`,
`Table_Name`.`Carer2`
) WHEN(
(
`Table_Name`.`carers_together` = '0'
) AND(
LENGTH(
`Table_Name`.`Carer1`
) > 0
) AND(
LENGTH(
`Table_Name`.`Carer2`
) > 0
)
) THEN 'tbc' WHEN(
`Table_Name`.`Carer1` = ''
) THEN `Table_Name`.`Carer2` ELSE `Table_Name`.`Carer1`
END
) AS `Carers`,
(
CASE WHEN(
(
`Table_Name`.`carers_together` = '1'
) AND(
LENGTH(
`Table_Name`.`Carer1_Contact`
) > 0
) AND(
LENGTH(
`Table_Name`.`Carer2_Contact`
) > 0
)
) THEN CONCAT_WS(
',',
`Table_Name`.`Carer1_Contact`,
`Table_Name`.`Carer2_Contact`
) WHEN(
(
`Table_Name`.`carers_together` = '0'
) AND(
LENGTH(
`Table_Name`.`Carer1_Contact`
) > 0
) AND(
LENGTH(
`Table_Name`.`Carer2_Contact`
) > 0
)
) THEN 'tbc' WHEN(
`Table_Name`.`Carer1_Contact` = ''
) THEN `Table_Name`.`Carer2_Contact` ELSE `Table_Name`.`Carer1_Contact`
END
) AS `Contact`,
GROUP_CONCAT(
`Table_Name`.`First_Name` SEPARATOR ' & '
) AS `Children`
GROUP BY
`Table_Name`.`Carer1`,
`Table_Name`.`Carer2`,
`Table_Name`.`Carer1_Contact`,
`Table_Name`.`Carer2_Contact`,
`Table_Name`.`carers_together`


Подробнее здесь: https://stackoverflow.com/questions/794 ... le-columns
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»