Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите с запросом / 4 сообщений из 4, страница 1 из 1
12.02.2016, 23:33:24
    #39170041
Алексей987
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Есть "таблица1" в ней есть колонки "колонка1" , "колонка2"
В обоих колонках находится текст. Нужно в "колонка2" добавить текст "новый текст" в начало и в конец значений (это сделал так: UPDATE `таблица1` SET `колонка1` = CONCAT ( 'новый текст', `колонка1` , 'новый текст2')
и теперь то что получилось добавить (объеденить) в `колонка2` в начало текста и при этом чтобы сохранился старый текст
...
Рейтинг: 0 / 0
14.02.2016, 08:20:54
    #39170593
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Алексей987то что получилось добавить (объеденить) в `колонка2` в начало текста и при этом чтобы сохранился старый текстесли "то что получилось" - это CONCAT ( 'новый текст', `колонка1` , 'новый текст2'), то на чём вы застряли? просто напишите ещё один конкат.

зы. и почему
Алексей987Нужно в "колонка2" добавить текст, но добавляете вы его
Алексей987 SET `колонка1` = в другое поле? где опечатка?
...
Рейтинг: 0 / 0
14.02.2016, 12:24:25
    #39170661
Lihman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
Здравствуйте

Прошу помочь, в таком запросе.

Если есть темы, где уже подобное обсуждалось, может поделитесь ссылками.

Есть 2 таблицы

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
CREATE TABLE `table1` (
  `id` int(11) DEFAULT NULL,
  `key` int(11) DEFAULT NULL,
  `value` varchar(20) DEFAULT NULL,
  `dt` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `table1` VALUES 
('1', '1', '111', '2016-02-01 11:05:09'), 
('2', '1', '112', '2016-02-02 11:05:35'), 
('3', '1', '113', '2016-02-03 11:05:49'), 
('4', '1', '114', '2016-02-10 11:06:05'), 
('5', '1', '115', '2016-02-13 11:06:16'), 
('6', '2', '211', '2016-02-02 11:07:38'), 
('7', '2', '212', '2016-02-05 11:07:52'), 
('8', '2', '213', '2016-02-07 11:08:07'), 
('9', '2', '214', '2016-02-09 11:08:19'), 
('10', '2', '215', '2016-02-12 11:08:33');

CREATE TABLE `table2` (
  `key` int(11) DEFAULT NULL,
  `value` varchar(20) DEFAULT NULL,
  `from_date` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `table2` VALUES 
('1', 'v1', '2016-02-01 00:00:00'), 
('1', 'v2', '2016-02-03 11:07:06'), 
('1', 'v3', '2016-02-10 11:07:18'), 
('2', 'v2_1', '2016-02-03 11:08:57'), 
('2', 'v2_2', '2016-02-06 11:09:10'), 
('2', 'v2_3', '2016-02-10 11:09:25');



Пояснение из реальной жизни:
первая таблица - это некие данные с датой свершения, например продажи чего-либо
вторая таблица - это момент изменения курса (именно что только момент ДАТА/ВРЕМЯ)

необходимо сделать выборку из table1 (все значения и все строки)
JOIN LEFT table2
но таким образом, чтобы бралось значение table2.value (курс) который соответствовал на момент продажи из первой таблицы

можно ли такое сделать?
если возможно то как?

С уважением, Денис
...
Рейтинг: 0 / 0
14.02.2016, 13:32:32
    #39170689
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом
задача близка к FAQ: Выборка первой/последней записи в группах посмотрите топик, у вас только макс.курс не позднее такой-то даты
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите с запросом / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]