andypovny: Есть еще кроме меня люди, которые так и не получили деньги за ноябрь? Беларусь. Нерезидент.
Тоже Беларусь, выплат нет. Мне за сентябрь пришли только 19 ноября, месяц лишний где-то ходили. За октябрь пришли вовремя. Проблема может быть, как мне кажется, с банками-корреспондентами, где и зависают деньги. И ещё интересно, у кого какой банк? У меня белгазпромбанк. До сентября был в Приоре, проблем никогда за 5 лет не было, начались с переходом в Белгаз. С Адсенса всё приходит как по часам. Не менял ли банк-плательщик сам Яндекс?
swetoll: нерезедент Беларусь до сих пор нет выплаты
кто нибудь с Беларуси получил уже?
Тоже с Беларуси, пока нет. Если и завтра не будет, то РСЯ прекрасный подарок на Новый год подкинет. Не знаю, что у них произошло за последний год, но с пунктуальностью выплат что-то не то.
hrach: а вам не кажется, что вы не сможете получить значения столбцов (text, type_id), которые не участвуют в группировке?:)))
В смысле не получу? в нонешнем mysql получу. Группировать ещё и по text и type_id имеет смысл, если для одного id может быть несколько телефонов, например, или сайтов. Но думаю, что вряд ли. А поскольку FROM, WHERE и id - одна таблица, то пройдёт по всем id
hrach: вложенная таблица вернет все те же 4 строки, только в некоторых столбцах будет NULL.
Для этого выбираем из полученного агрегатом max.
Так сделать группировку только t1.id и не нужен вложенный запрос будет возвращать по одной строке на один id. Я так понимаю, у него же на один id по одному оответствующему тел, сайту, имени
---------- Добавлено 12.11.2019 в 22:40 ----------
Dram: А так чтобы без макс? Мне ведь все нужны, чтобы циклом по ним пройтись. Чтобы с группировкой по id и без нулл
Мне, кажется, вот так достаточно
SELECT t1.id AS id,
CASE WHEN t2.type_id=7 THEN t2.text END AS tel,
CASE WHEN t2.type_id=2 THEN t2.text END AS dir,
CASE WHEN t2.type_id=6 THEN t2.text END AS site,
CASE WHEN t2.type_id=1 THEN t2.text END AS email
FROM firm_items as t1
INNER JOIN firm_items_fields_value as t2 on t1.id = t2.item_id
WHERE t1.category_id = 45
GROUP BY t1.id
Dram: Немного не то - все равно то поле куда все соберет group_concat придется распаршивать, а затем если мне нужно что-то будет обновить, я не буду знать ID этого поля.
Ну да ладно, не суть уже, я написал скрипт, + 1 запрос роли не сыграл.
У Вас не запрос вида INSERT .... (SELECT), т.е. не сразу льёте выборку в базу - одним запросом из одной таблицы в другую? Если нет, то на том же php крутите как хотите результаты выборки, собирайте массивы по любым ключам, объединяйте поля, в каком хотите порядке
SELECT t1.id, t2.type_id, GROUP_CONCAT(t2.text SEPARATOR ' ')
FROM firm_items as t1
INNER JOIN firm_items_fields_value as t2 on t1.id = t2.item_id
WHERE t1.category_id = 45
Или почитайте про GROUP_CONCAT, у себя использую, нет времени сейчас искать. Наверное нужно ещё GROUP BY, или убрать из SELECT t2.type_id
Есть еще кроме меня люди, которые так и не получили деньги за ноябрь? Беларусь. Нерезидент.
Тоже Беларусь, выплат нет. Мне за сентябрь пришли только 19 ноября, месяц лишний где-то ходили. За октябрь пришли вовремя. Проблема может быть, как мне кажется, с банками-корреспондентами, где и зависают деньги. И ещё интересно, у кого какой банк? У меня белгазпромбанк. До сентября был в Приоре, проблем никогда за 5 лет не было, начались с переходом в Белгаз. С Адсенса всё приходит как по часам. Не менял ли банк-плательщик сам Яндекс?
Беларусь. Платёж не поступал
Есть нерезиденты еще не получили?
Есть, Беларусь
нерезедент Беларусь до сих пор нет выплаты
кто нибудь с Беларуси получил уже?
Тоже с Беларуси, пока нет. Если и завтра не будет, то РСЯ прекрасный подарок на Новый год подкинет. Не знаю, что у них произошло за последний год, но с пунктуальностью выплат что-то не то.
не спорю:) надо знать задачу до конца, смотреть какой результат будет на реальных данных.
зы у меня 2 номера телефона и куча e-mail адресов, как и у всех))
Ну да, если на один id в таблице несколько телефонов и т.д, как и есть по жизни, и все нужно вытянуть одним запросом, тогда и запрос другой нужен.
а вам не кажется, что вы не сможете получить значения столбцов (text, type_id), которые не участвуют в группировке?:)))
В смысле не получу? в нонешнем mysql получу. Группировать ещё и по text и type_id имеет смысл, если для одного id может быть несколько телефонов, например, или сайтов. Но думаю, что вряд ли. А поскольку FROM, WHERE и id - одна таблица, то пройдёт по всем id
вложенная таблица вернет все те же 4 строки, только в некоторых столбцах будет NULL.
Для этого выбираем из полученного агрегатом max.
Так сделать группировку только t1.id и не нужен вложенный запрос будет возвращать по одной строке на один id. Я так понимаю, у него же на один id по одному оответствующему тел, сайту, имени
---------- Добавлено 12.11.2019 в 22:40 ----------
А так чтобы без макс? Мне ведь все нужны, чтобы циклом по ним пройтись. Чтобы с группировкой по id и без нулл
Мне, кажется, вот так достаточно
SELECT t1.id AS id,
CASE WHEN t2.type_id=7 THEN t2.text END AS tel,
CASE WHEN t2.type_id=2 THEN t2.text END AS dir,
CASE WHEN t2.type_id=6 THEN t2.text END AS site,
CASE WHEN t2.type_id=1 THEN t2.text END AS email
FROM firm_items as t1
INNER JOIN firm_items_fields_value as t2 on t1.id = t2.item_id
WHERE t1.category_id = 45
GROUP BY t1.id
Swir, так и сделал - просто вместо одного цикла пришлось писать второй. Думал обойтись одним...
Если циклы без обращений к базе в каждой итерации, так чего их бояться.
Немного не то - все равно то поле куда все соберет group_concat придется распаршивать, а затем если мне нужно что-то будет обновить, я не буду знать ID этого поля.
Ну да ладно, не суть уже, я написал скрипт, + 1 запрос роли не сыграл.
У Вас не запрос вида INSERT .... (SELECT), т.е. не сразу льёте выборку в базу - одним запросом из одной таблицы в другую? Если нет, то на том же php крутите как хотите результаты выборки, собирайте массивы по любым ключам, объединяйте поля, в каком хотите порядке
Можно как-то так?
Попробуйте так:
FROM firm_items as t1
INNER JOIN firm_items_fields_value as t2 on t1.id = t2.item_id
WHERE t1.category_id = 45
Или почитайте про GROUP_CONCAT, у себя использую, нет времени сейчас искать. Наверное нужно ещё GROUP BY, или убрать из SELECT t2.type_id