Есть две таблицы, что-то вроде соответствия грубо говоря поставщика и продавца.Товар один и тот же, только у обоих артикулы разные.
В Таблице1 поле `kod`, в Таблице2 `kod`(такой же как и в таб.1) и соответствующий ему -`id_good`+ `color`,`size1`,`size2`
1) Нужно создать таблицу
2) Из таблицы1 сравнивая с таб2. по полю `kod`, брать поля и переносить в новую таблицу
id_good=>parent
color=>relation
size1=>relation1
size2=>relation2
3) добавить в новую таблицу поле`active`
и во всех строках прописать значение 1
Запутанно как-то вышло, итак,
$query = " CREATE TABLE `новая таблица`;
тут будут еще запросы.
$q = explode(";", $query);
foreach ($q as $v) {
mysql_query($v);
$q, foreach я правильно использую? чтобы запросы исполнялись.
Спасибо всем, кто не прошел мимо!
Спустя 2 часа, 42 минуты, 40 секунд (28.06.2012 - 16:28) S-17 написал(а):
С
вопросы снимаю, работает отлично!
Попробую еще разок разжевать, так как задачи "горит ярким пламенем".
Есть данные от поставщика(штрих-код) в таблице номер 1 с полем `kod`
Есть наша таблица(2) так же с полем `kod` которое соответствует полю `kod.таблицы1`, там же в таблице 2 есть еще три четыре которые мне нужны.
В итоге, нужно запросом к базе сверить `kod.таблицы1` с `kod.таблица2` и при нахождении равных(одинаковых штрих кодов), отправлять других четырех полей этой строки в другую таблицу(3), при этом поля в другой таблице(3) называются по другому.
(Слева) из таблицы2 переносим в таблицу3(справа)
id_good=>parent
color=>relation
size1=>relation1
size2=>relation2
Помогите пожалуйста!
$query = "
тут будут еще запросы. ";
$q = explode(";", $query);
foreach ($q as $v) {
mysql_query($v);
вопросы снимаю, работает отлично!
Попробую еще разок разжевать, так как задачи "горит ярким пламенем".
Есть данные от поставщика(штрих-код) в таблице номер 1 с полем `kod`
Есть наша таблица(2) так же с полем `kod` которое соответствует полю `kod.таблицы1`, там же в таблице 2 есть еще три четыре которые мне нужны.
В итоге, нужно запросом к базе сверить `kod.таблицы1` с `kod.таблица2` и при нахождении равных(одинаковых штрих кодов), отправлять других четырех полей этой строки в другую таблицу(3), при этом поля в другой таблице(3) называются по другому.
(Слева) из таблицы2 переносим в таблицу3(справа)
id_good=>parent
color=>relation
size1=>relation1
size2=>relation2
Помогите пожалуйста!
Спустя 41 минута, 22 секунды (28.06.2012 - 17:10) rooor написал(а):
делай выборку нужных полей из двух таблиц и вставляй в третью, ничего сложного
в запросе используй JOIN, чтобы выбрать те записи, в которых поле kod совпадает
в запросе используй JOIN, чтобы выбрать те записи, в которых поле kod совпадает
Спустя 2 минуты, 9 секунд (28.06.2012 - 17:12) S-17 написал(а):
это без вариантов?
Спустя 4 минуты, 18 секунд (28.06.2012 - 17:16) rooor написал(а):
а какие варианты нужны? готовый код?
Спустя 2 минуты, 38 секунд (28.06.2012 - 17:19) S-17 написал(а):
я в этой ветке уже писал про JOIN
не могу в него врубится, особенно в ставку `полей` в начале кода.
Если не сложно хоть примерно набросайте, а я уже постараюсь довести до ума.
Спасибо огромное!
не могу в него врубится, особенно в ставку `полей` в начале кода.
Если не сложно хоть примерно набросайте, а я уже постараюсь довести до ума.
Спасибо огромное!
Спустя 12 минут, 25 секунд (28.06.2012 - 17:31) rooor написал(а):
вариант 1:
вариант 2:
SELECT a.`one`, a.`two` FROM `table1` a, `table2` b WHERE a.`kod` IN(b.`kod`)
вариант 2:
SELECT a.`one`, a.`two` FROM `table1` a, `table2` b WHERE a.`kod`= b.`kod`
Спустя 12 минут, 2 секунды (28.06.2012 - 17:43) S-17 написал(а):
так а JOIN в какое место ставить нужно?))
Спустя 4 часа, 38 минут, 29 секунд (28.06.2012 - 22:22) S-17 написал(а):
Мне вот что предложили, но я не пойму, это все нужно вставить в один php файл?
Цитата |
2)я бы так сделал:INSERT INTO `новая таблица` SELECT id_good,color,size1,size2 FROM таблицы1,таблицы2 WHERE таблицы1.`kod`>таблицы2.`kod`; $sql[]="select 1"; Выполнить несколько запросов: /*пример взят с сайта mysql.com// connect to server with the CLIENT_MULTI_STATEMENTS option */ |
Спустя 3 часа, 8 минут, 1 секунда (29.06.2012 - 01:30) S-17 написал(а):
вот что вышло...но не срабатывает(((((
что я намудрил?((((
<?php
//подключаемся
require_once(dirname(__FILE__)."/../include/database7387890.php");
mysql_connect($db['host'].":".$db['port'],$db['user'],$db['password']);
mysql_select_db($db['db']);
print ("Соединение установлено!");
$query = "CREATE TABLE `catalog_relations2` LIKE `catalog_relations`;
TRUNCATE TABLE `catalog_relations2`;
INSERT INTO `catalog_relations2`
SELECT still_park_mapping.id_good,still_park_mapping.color,still_park_mapping.size1,still_park_mapping.size2
FROM `still_park_mapping`, `still_park` WHERE still_park.`kod`= still_park_mapping.`kod`);
";
$q = explode(";", $query);
foreach ($q as $v) {
mysql_query($v);
}
print ("SUCCES!");
?>
что я намудрил?((((
Спустя 8 часов, 7 минут, 19 секунд (29.06.2012 - 09:37) S-17 написал(а):
Внес немного изменений, таблица убивается, создается и тд...а вставка не происходит
<?php
//подключаемся
require_once(dirname(__FILE__)."/../include/database9860998.php");
mysql_connect($db['host'].":".$db['port'],$db['user'],$db['password']);
mysql_select_db($db['db']);
print ("Соединение установлено!");
$query = " DROP TABLE IF EXISTS `catalog_relations2`;
CREATE TABLE `catalog_relations2` LIKE `catalog_relations`;
TRUNCATE TABLE `catalog_relations2`;
INSERT INTO `catalog_relations2`
SELECT still_park_mapping.id_good,still_park_mapping.color,still_park_mapping.size1,still_park_mapping.size2
FROM `still_park_mapping`, `still_park` WHERE still_park.`kod`= still_park_mapping.`kod`);
";
$q = explode(";", $query);
foreach ($q as $v) {
mysql_query($v);
}
print ("SUCCESS!");
?>
Спустя 35 минут, 53 секунды (29.06.2012 - 10:13) S-17 написал(а):
вообщем, как мне кажется, не хватает задать как я писал выше, что куда вставлять
id_good=>parent
color=>relation
size1=>relation1
size2=>relation2
id_good=>parent
color=>relation
size1=>relation1
size2=>relation2
Спустя 44 минуты, 6 секунд (29.06.2012 - 10:57) rooor написал(а):
мож так? не вникал)
$sql = mysql_query("SELECT a.`id_good`, a.`color`, a.`size1`, a.`size2`
FROM `catalog_relations` a, `still_park` b
WHERE b.`kod`= a.`kod`")
if(mysql_num_rows($sql))
{
while($res = mysql_fetch_assoc($sql))
{
mysql_query("INSERT INTO `catalog_relations2`
SET
`parent` = '".$res['id_good']."',
`relation` = '".$res['color']."',
`relation1` = '".$res['size1']."',
`relation2` = '".$res['size2']."',
`active` = 1
");
}
}