![]()  | 
		
Задавайте вопросы, мы ответим
Вы не зашли.
только начинаю изучать SQL, поэтому плиз, сильно не пинайте))
Есть две таблицы:
Таблица1
id  |  name
1   |  Иван
2   |  Андрей
3   |  Леша
Таблица2
id  |  dopinfo        |  dopname
1   |  Иванов        |  dop1
1   |  1981           |  dop2
1   |  Качалка      |  dop3
2   |  mail            |  dop1
2   |  Рождество    |  dop2
3   |  Пример1      |  dop1
3   |  Пример2      |  dop2
Пишу запрос:
SELECT
  Таб1.name, Таб2.dopinfo
FROM
  Таблица1 Таб1, Таблица2 Таб2
WHERE
  Таб1.id = Таб2.id
получается массив
[1] = name = Иван, dopname = Иванов
[2] = name = Иван, dopname = 1981
и т.д.
А как получить массив такого вида?
[1] = name = Иван, dop1 = Иванов, dop2 = 1981, dop3 = Качалка
[2] = name = Андрей, dop1 =mail, dop2 = Рождество
Неактивен

Что-нибудь такое:
SELECT GROUP_CONCAT(CONCAT_WS('=', dopname, dopinfo)) FROM `Таблица2` GROUP BY id.
Неактивен
спасибо, GROUP_CONCAT - хорошая штука)) не знал про нее. вот токо она бы еще на массив разбивала))
пробовал сделал так:
SELECT 
           Таб1.name, GROUP_CONCAT('[', Таб2.dopname, ']' ,Таб2.dopinfo) 
FROM 
           Таблица1 Таб1, Таблица2 Таб2 
GROUP BY 
           Таб2.id
если выводить на PHP через mysql_fetch_assoc, то последние значение массива это строка, и не разбита на массив, т.е. не получается обратиться в цикле к massiv[dop1] и получить его значение, а massiv[name] выводит отлично из первой таблицы((((
Неактивен

А условие объединения таблиц где?
Неактивен
ой, забыл написать 
WHERE 
           Таб1.id = Таб2.id
но сути это не меняет... придется использовать функцию которая будет разбивать полученную переменную на массив
Неактивен

Да, прийдется 
 Если Вы не хотите читать данные построчно — прийдется
разбивать одну строку в приложении. Это как с пирогом — можно заказать
нарезанный, и есть по кусочкам, или заказать целиком, но тогда резать
самостоятельно ![]()
Неактивен