Доброго времени суток. Вот я добралась и до этого раздела. Ситуация такая. Есть две таблицы. Я вытаскиваю из них данные так: Код (PHP): <span class="syntaxdefault">SELECT table1</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">surname</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">table1</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">name</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">table2</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">har</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">table2</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">data FROM table1 JOIN table2 ON table1</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">id</span><span class="syntaxkeyword">=</span><span class="syntaxdefault">table2</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">id_learner WHERE table1</span><span class="syntaxkeyword">.class=</span><span class="syntaxstring">'2-1'</span><span class="syntaxdefault"></span> Данные выводятся таким образом: user1surname | user1name | user1har | data1 user1surname | user1name | user1har | data2 user1surname | user1name | user1har | data3 А хотелось бы, чтобы данные выводились так: user1surname | user1name | user1har | data1 | data2 | data3 На ум кроме конкатенации, ничего не приходит. Мб кто-нибудь подскажет вариант?
Код (PHP): SELECT table1.surname AS user1surname,table1.name AS user1name , table2.har AS user2har ,table2.data AS user2data FROM table1 JOIN table2 ON table1.id=table2.id_learner WHERE table1.class='2-1'
Ну это получается то же самое. Добавлено спустя 31 минуту 20 секунд: Как вариант развития событий. Смогла добиться решения данной задачи только в два подхода. 1. Код (PHP): <span class="syntaxdefault">SELECT table1</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">id FROM table1 WHERE table1</span><span class="syntaxkeyword">.class=</span><span class="syntaxstring">'2-1' </span><span class="syntaxdefault"></span> Данные записываю в массив. Подставляя данные (id) из массива прогоняю вторую выборку и получаю нужные данные 2. Код (PHP): <span class="syntaxdefault">SELECT table2</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">data FROM table2 WHERE table2</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">id_learner</span><span class="syntaxkeyword">=</span><span class="syntaxstring">'201' </span><span class="syntaxdefault"></span> Получаю список дат. Решение далеко не самое изящное. Можно это все как то привести к нормальному виду (в виде 1 запроса?).
а варинты из гугл-поиска рассматривались? запрос mysql rows to columns если я правильно въехал в задачу. вот например решение через процедуру - http://dba.stackexchange.com/questions/47902/how-to-transpo ... s-in-mysql или вот без процедур - http://stackoverflow.com/questions/14834290/mysql-query-to- ... to-columns
Спасибо большое, вроде то что надо. Я всегда сначала лезу в гугл, и на форум стараюсь писать в крайнем случае. Я вот просто не могла правильно сформулировать вопрос что бы задать его гуглу )))), а ведь правильно сформулированный вопрос - это уже половина ответа. Пойду читать. Всех с пятницей!!! :-*
Чтобы такое сделать, надо сначала определить а чем data1, data2 и data3 отличаются друг от друга. Если такой критерий есть, то можно сделать три джойна вместо одного. Иначе присмотреться к GROUP_CONCAT() или накапливать и поворачивать таблицу уже в Представлении.
Это различные даты, хранящиеся в unixtime. Pivot вроде то, что нужно, но я никак не могу разобраться что там да как (((((
Всем доброе утро. Простите что не смогла вовремя ответить (((. У нас случился переезд в эти выходные, так что буду сегодня пробовать вновь.
нам такие интимные подробности ни к чему. я с ребенком возился все выходные, а в ночь с субботы на воскресенье в доту рубился. ну свою любимую формулу-1 не забыл посмотреть. видишь? всем пофиг. пропала на несколько дней и пропала. я тут порой на пару лет пропадаю и ничего.