powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как в одну таблицу занести данные из разных таблиц?
22 сообщений из 22, страница 1 из 1
Как в одну таблицу занести данные из разных таблиц?
    #38701255
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т. е. нужно в одной таблице найти значение по условию, во второй найти значение по условию и вставить всё это в два поля третьей таблицы.

Вот так пока получилось.

Код: sql
1.
2.
3.
INSERT INTO tablizca_svyazej (id_nabora, id_slov)
SELECT (id FROM tablizca_naborov WHERE nabory = '1405857164'),
	   (id FROM tablizca_slov WHERE slova = 'чашка')



Не могу сконструировать часть с SELECT.
...
Рейтинг: 0 / 0
Как в одну таблицу занести данные из разных таблиц?
    #38701260
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И так не получилось…

Код: sql
1.
2.
3.
INSERT INTO tablizca_svyazej (id_nabora, id_slov)
SELECT (id WHERE nabory = '1405857164', id WHERE slova = 'чашка')
FROM (tablizca_naborov, tablizca_slov)
...
Рейтинг: 0 / 0
Как в одну таблицу занести данные из разных таблиц?
    #38701262
Диклевич Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrejk,

потому что надо читать официальную документацию , а не "придумывать" свой синтаксис комманд.
...
Рейтинг: 0 / 0
Как в одну таблицу занести данные из разных таблиц?
    #38701266
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Диклевич Александр,

Я не придумываю, я читаю Форта, но там простые примеры, а мне вот сложнее надо.
...
Рейтинг: 0 / 0
Как в одну таблицу занести данные из разных таблиц?
    #38701267
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И английского не знаю.
...
Рейтинг: 0 / 0
Как в одну таблицу занести данные из разных таблиц?
    #38701278
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И так нифига…

Код: sql
1.
2.
3.
4.
INSERT INTO `tablizca_svyazej` (`id_nabora`, `id_slov`) 
SELECT `tablizca_naborov`.`id`, `tablizca_slov`.`id`
FROM `tablizca_naborov`.`nabory`, `tablizca_slov`.`slova`
WHERE `tablizca_naborov`.`nabory` = '1405860994', `tablizca_slov`.`slova` = 'овпарвап'



Подскажите.
...
Рейтинг: 0 / 0
Как в одну таблицу занести данные из разных таблиц?
    #38701320
Диклевич Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrejk,

а вот так
Код: sql
1.
2.
3.
4.
5.
INSERT INTO `tablizca_svyazej` (`id_nabora`, `id_slov`) 
SELECT n.`id` AS id_nabora, s.`id` AS id_slov
FROM `tablizca_naborov` n
CROSS JOIN `tablizca_slov` s
WHERE n.`nabory` = '1405860994' AND s.`slova` = 'овпарвап'


но неплохо бы привести скрипты создания таблиц и внятное описание задачи для уверенности.
...
Рейтинг: 0 / 0
Как в одну таблицу занести данные из разных таблиц?
    #38701331
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, но мне не весь синтаксис знаком)

Я вот как решил, но по одному INSERT выполняется, а если сразу два, то выдаёт ошибку:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO tablizca_svyazej (id_naborov, id_slov) VALUES ((SELECT id FROM tab' at line 3

Код: sql
1.
2.
3.
4.
5.
INSERT INTO tablizca_slov (slova) 
VALUES ('кккккккккц') 

INSERT INTO tablizca_svyazej (id_naborov, id_slov) 
VALUES ((SELECT id FROM tablizca_naborov WHERE nabory = '1405867259'), (SELECT id FROM tablizca_slov WHERE slova = 'ккккккккк'))
...
Рейтинг: 0 / 0
Как в одну таблицу занести данные из разных таблиц?
    #38701334
Диклевич Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrejk,

так мой вариант работает?
...
Рейтинг: 0 / 0
Как в одну таблицу занести данные из разных таблиц?
    #38701340
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так, есть три таблицы, уже существующие (с прошлого раза изменил названия полей id в разных таблицах на id_sl и id_nab соответственно):

tablizca_naborov (id_nab, nabory)
tablizca_slov (id_sl, slova)
tablizca_svyazej (id_naborov, id_slov)

Нужно

значение id_nab, где nabory = …
вставить в id_naborov

и значение id_sl где slova = …
вставить в id_slov.
...
Рейтинг: 0 / 0
Как в одну таблицу занести данные из разных таблиц?
    #38701343
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Диклевич Александрandrejk,

так мой вариант работает?

Я менял название полей, и твой код изменил так (id на id_nab и на id_sl):

Код: sql
1.
2.
3.
4.
5.
INSERT INTO `tablizca_svyazej` (`id_nabora`, `id_slov`) 
SELECT n.`id_nab` AS id_nabora, s.`id_sl` AS id_slov
FROM `tablizca_naborov` n
CROSS JOIN `tablizca_slov` s
WHERE n.`nabory` = '1405860994' AND s.`slova` = 'овпарвап'



Вот что выдал: #1054 - Unknown column 'id_nabora' in 'field list'
...
Рейтинг: 0 / 0
Как в одну таблицу занести данные из разных таблиц?
    #38701346
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrejkСпасибо, но мне не весь синтаксис знаком)

Я вот как решил, но по одному INSERT выполняется, а если сразу два, то выдаёт ошибку:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO tablizca_svyazej (id_naborov, id_slov) VALUES ((SELECT id FROM tab' at line 3

Код: sql
1.
2.
3.
4.
5.
INSERT INTO tablizca_slov (slova) 
VALUES ('кккккккккц') 

INSERT INTO tablizca_svyazej (id_naborov, id_slov) 
VALUES ((SELECT id FROM tablizca_naborov WHERE nabory = '1405867259'), (SELECT id FROM tablizca_slov WHERE slova = 'ккккккккк'))



Чтож эти два запроса вместе не проходят, а только по одному?
...
Рейтинг: 0 / 0
Как в одну таблицу занести данные из разных таблиц?
    #38701347
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И подскажите, как сделать, чтобы запрос при попытке добавления записи-дубликата в поле с уникальными значениями не выдавал ошибку, а пропускал эту запись и выполнялся дальше?
...
Рейтинг: 0 / 0
Как в одну таблицу занести данные из разных таблиц?
    #38701360
Диклевич Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrejkДиклевич Александрandrejk,

так мой вариант работает?


Я менял название полей, и твой код изменил так (id на id_nab и на id_sl):

Код: sql
1.
2.
3.
4.
5.
INSERT INTO `tablizca_svyazej` (`id_nabora`, `id_slov`) 
SELECT n.`id_nab` AS id_nabora, s.`id_sl` AS id_slov
FROM `tablizca_naborov` n
CROSS JOIN `tablizca_slov` s
WHERE n.`nabory` = '1405860994' AND s.`slova` = 'овпарвап'



Вот что выдал: #1054 - Unknown column 'id_nabora' in 'field list'

Нужен скрипт создания таблицы `tablizca_svyazej`, а лучше всех.
Если убрать INSERT INTO, а оставить только
Код: sql
1.
2.
3.
4.
SELECT n.`id_nab` AS id_nabora, s.`id_sl` AS id_slov
FROM `tablizca_naborov` n
CROSS JOIN `tablizca_slov` s
WHERE n.`nabory` = '1405860994' AND s.`slova` = 'овпарвап'


так что-нибудь выдает?

чтобы игнорировать дубликаты надо
Код: sql
1.
INSERT IGNORE INTO ...
...
Рейтинг: 0 / 0
Как в одну таблицу занести данные из разных таблиц?
    #38701363
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, выдаёт пары id_nabora — id_slov, которым есть соответствие, я так понимаю.

Пожалуйста, сделай пдробный комментарий к своему коду, а то я его не могу прочитать.

За «IGNORE» спасибо, попробую.
...
Рейтинг: 0 / 0
Как в одну таблицу занести данные из разных таблиц?
    #38701365
Диклевич Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrejkДа, выдаёт пары id_nabora — id_slov, которым есть соответствие, я так понимаю.
нет, неправильно понимаешь.

Вобщем, я умываю руки, если только не будут предоставлены скрипты создания таблиц, тестовые данные и внятное описание задачи.
...
Рейтинг: 0 / 0
Как в одну таблицу занести данные из разных таблиц?
    #38701369
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблицы я создавал в phpMyAdmin — где я уже возьму те скрипты? Или я чё-то не понимаю?
Я не настолько продвинут чтобы тестить БД.
Блин, я неделю всего ковыряю ПХП и БД, собираю с миру по нитке.

Что именно сдесь не понятно?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
tablizca_naborov (id_nab, nabory)
tablizca_slov (id_sl, slova)
tablizca_svyazej (id_naborov, id_slov)

Нужно 

значение id_nab, где nabory = … 
вставить в id_naborov 

и значение id_sl где slova = … 
вставить в id_slov.



Вот код, которым формирую запрос:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
mysql_query ("
INSERT INTO tablizca_naborov (nabory)
VALUES ('" . $imya_nabora . "')");

for ($i = 0; $i < count($massiv_itog); $i++)
{
	//делаем повторяющуюся часть запроса
$slova_i_svyazi[$i] = "
INSERT IGNORE INTO tablizca_slov (slova)
VALUES ('" . $massiv_itog[$i] . "')

INSERT INTO tablizca_svyazej (id_naborov, id_slov)
VALUES ((SELECT id_nab FROM tablizca_naborov WHERE nabory = '" . $imya_nabora . "'),
	   (SELECT id_sl FROM tablizca_slov WHERE slova = '" . $massiv_itog[$i] . "'))
"
;}

$V_BD = implode(" ", $slova_i_svyazi);
print_r ($V_BD);
echo "<br><br>";
mysql_query ($V_BD) or die(mysql_error());



Скажи хоть, что почитать, какую тему, чтоб твой код понять.
Что значит CROSS JOIN, n, s?
...
Рейтинг: 0 / 0
Как в одну таблицу занести данные из разных таблиц?
    #38701578
Диклевич Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrejk,

тут надо начинать с основ SQL, так как я вижу что знаний 0.
Ресурсов полно.
вот и вот , там же и упражнения.
Или купить какую-нибудь книжку.
...
Рейтинг: 0 / 0
Как в одну таблицу занести данные из разных таблиц?
    #38701638
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Диклевич Александрandrejk,

тут надо начинать с основ SQL, так как я вижу что знаний 0.
Ресурсов полно.
вот и вот , там же и упражнения.
Или купить какую-нибудь книжку.

Я читаю Бена Форта «SQL 10 минут на урок», для начала.

А ссылки, которые дал — это рекомендация или первое, что попалось в поиске?
Дело в том, что я их тоже находил, море тких, поэтому и определиться не смог.
...
Рейтинг: 0 / 0
Как в одну таблицу занести данные из разных таблиц?
    #38701667
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrejkТаблицы я создавал в phpMyAdmin — где я уже возьму те скрипты?И этот человек ещё возмущался моим - как выясняется, абсолютно справедливым - комментарием о боевых треногах
...
Рейтинг: 0 / 0
Как в одну таблицу занести данные из разных таблиц?
    #38701723
Диклевич Александр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrejkА ссылки, которые дал — это рекомендация или первое, что попалось в поиске?
А какая разница?
А пойти по ссылке и самому почитать?

SQL язык очень прост, но если уж полез, так будь добр разберись.
...
Рейтинг: 0 / 0
Как в одну таблицу занести данные из разных таблиц?
    #38701745
Serzh007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да уж разобраться самому интересно, разберусь, просто сейчас жутко хотелось побыстрее реализовать задумку, почти ничерта не понимая в пхп и бд. Реализация есть, всё действует, правда через жопу, но зато я кайфую от того, что мечтания нескольких месяцев воплотились в жизнь) Раньше и подумать не мог, что смогу такое, для меня базы данных и веб-программирование — это был космос. Мог только простые странички делать. так что для интервала в неделю, считаю, что у меня прорыв)))
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как в одну таблицу занести данные из разных таблиц?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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