Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Объединение таблиц
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, такой вопрос. Есть Table1, в которую каждый день в 9 утра записываются 4 строчки с данными, ее вид: id Name Kolvo Price Date И есть Table2, в которую каждый день в 9 утра записывается одна строчка с данными, ее вид: id Marka Znachenie Date Можно ли обьединить таблицы таким образом, чтобы строчки из Table2, объединялись с первой из четырёх строк Table1? Примерно так: id name kolvo price marka znachenie date 1. M1. 100. 250. P1. 6000. 06-08-2018 2. M2. 140. 250. Null. Null. Null 3. M3. 301. 350. Null. Null. Null 4. M4. 400. 900. Null. Null. Null 5. M1. 100. 250. P1. 8000. 07-08-2018 6. M2. 140. 250. Null. Null. Null 7. M3. 301. 350. Null. Null. Null 8. M4. 400. 900. Null. Null. Null ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2018, 22:51 |
|
||
|
Объединение таблиц
|
|||
|---|---|---|---|
|
#18+
mbs92Можно ли обьединить таблицы таким образом, чтобы строчки из Table2, объединялись с первой из четырёх строк Table1?Да, кросс-джойн с топ 1 из Table1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2018, 23:44 |
|
||
|
Объединение таблиц
|
|||
|---|---|---|---|
|
#18+
alexeyvg, Поправьте если я не прав, но ведь при данном запросе строка из второй таблицы, все время будет объединятся тупо с первой строкой из table1? А мне нужно чтобы новая строчка из table2 объединялась с каждой четвёртой из table1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2018, 00:29 |
|
||
|
Объединение таблиц
|
|||
|---|---|---|---|
|
#18+
mbs92Поправьте если я не прав, но ведь при данном запросе строка из второй таблицы, все время будет объединятся тупо с первой строкой из table1?Да. Вы же хотите, цитирую: "чтобы строчки из Table2, объединялись с первой из четырёх строк Table1"? mbs92А мне нужно чтобы новая строчка из table2 объединялась с каждой четвёртой из table1Это тоже не очень понятная формулировка :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2018, 01:51 |
|
||
|
Объединение таблиц
|
|||
|---|---|---|---|
|
#18+
mbs92А мне нужно чтобы новая строчка из table2 объединялась с каждой четвёртой из table1 Тогда это выглядит вот так: id name kolvo price marka znachenie date1 M1 100 250 P1 6000 06-08-20182 M2 140 250 P1 6000 06-08-20183 M3 301 350 P1 6000 06-08-20184M4 400 900 P1 6000 06-08-20185 M1 100 250 P1 8000 07-08-20186 M2 140 250 P1 8000 07-08-20187 M3 301 350 P1 8000 07-08-20188 M4 400 900 P1 8000 07-08-2018 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2018, 02:57 |
|
||
|
Объединение таблиц
|
|||
|---|---|---|---|
|
#18+
Вру. это полное объединение. mbs92Можно ли обьединить таблицы таким образом, чтобы строчки из Table2, объединялись с первой из четырёх строк Table1? mbs92А мне нужно чтобы новая строчка из table2 объединялась с каждой четвёртой из table1 Так с первой или с четвертой? Впрочем без разницы. Объединение с условием name="M1" (если с первой) или name="M4" если с четвертой + union all с фильтром по первой таблице name<>="M1"(если с первой) или name<>"M4" если с четвертой И не забыть добавить недостающие поля ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2018, 03:06 |
|
||
|
Объединение таблиц
|
|||
|---|---|---|---|
|
#18+
"В лоб" получилось вот так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. http://sqlfiddle.com/#!18/bd2a7/16 но явно тут что-то не так с постановкой. ибо теряем дату в остальных строках ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2018, 03:44 |
|
||
|
Объединение таблиц
|
|||
|---|---|---|---|
|
#18+
mbs92, нумеруете обе выборки при помощи ROW_NUBER() OVER() (если в ID гарантированно нет пропусков - можете использовать его, но лучше перестраховаться), лево-СОЕДИНЯЕТЕ полученный наборы данных (от первой таблице - ко второй) по полю-нумератору и MOD-у + целочисленному делению на 4: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. тестовые данные и проверка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2018, 04:36 |
|
||
|
Объединение таблиц
|
|||
|---|---|---|---|
|
#18+
Согласен, с left join правильнее. Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.08.2018, 05:19 |
|
||
|
Объединение таблиц
|
|||
|---|---|---|---|
|
#18+
982183, Получилось так как вы сказали, но если за одну дату несколько записей, то начинается дублирование строк. Можно как то исправить запрос, чтобы дублирования не было? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2018, 12:38 |
|
||
|
Объединение таблиц
|
|||
|---|---|---|---|
|
#18+
Сначала надо понять, какие данные за один день данных надо оставить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2018, 13:26 |
|
||
|
|

start [/forum/topic.php?fid=46&gotonew=1&tid=1689045]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
11ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 230ms |
| total: | 410ms |

| 0 / 0 |
