Есть две таблицы, сделаны (к сожалению) таким образом:
`table_1`
+id+slug+
+ 1+ zz+
+ 2+ zy+
+ 3+ zx+
+ 4+ za+
+ 5+ zb+
...
`table_2`
+id+parent_id+slug+
+ 1+ 1+ zz+
+ 2+ 1+ zy+
+ 3+ 1+ zx+
+ 4+ 2+ za+
+ 5+ 2+ zb+
...
Есть скрипт (для переноса данных меджу БД)
...подключения к БД, SELECT из `table_1`...
$conn = new mysqli($servername, $username, $password, $dbname);
$sql = "SELECT * FROM table_1";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
$slug = $row['slug'];
if(in_array($slug, [
'zz',
'zy',
'zx',
]))
{
$another_id = 1;
}elseif(in_array($slug, [
'za',
'zb',
])){
$another_id = 2;
}
another_id
, по сути, === parent_id
Проблема в том, что обе таблицы имеют около 200 полей, выбирать вручную SELECT DISTINCT slug FROM table_2 WHERE parent_id=1
все zz,zy,zx
и ложить в if
, наверное, не очень правильно.
upd: в результате $another_id
буду INSERT'ить
в некоторое поле таблицы новой БД
Не понятно, через что связаны таблицы table_1
и table_2
. Если связь table_1.id = table_2.id
, то запрос такой:
SELECT
t1.id,
t1.slug,
t2.parent_id as another_id
FROM table_1 AS t1
INNER JOIN table_2 AS t2 ON t1.id = t2.id
Если должна быть связь table_1.slug = table_2.slug
:
SELECT
t1.id,
t1.slug,
t2.parent_id as another_id
FROM table_1 AS t1
INNER JOIN `table_2` AS t2 ON t1.slug = t2.slug
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Написала мессенджер на PHP, который лежит локальном сервере ДенверКак можно конвертировать его в мобильное приложение? Существуют ли такие...
Написал плагин, рассчитывающий цену на доставку товараНе смог понять как добавлять цену доставки к основной цене товара Woocommerce