我想将一个列从一个表复制到另一个表中的另一个列,其中第一个表中的id条件在第二个表中是等于id
如果语法正确,如果不是如何纠正,请尽可能地了解尽可能的信息
谢谢
INSERT offerte
SET tipo_offerta =
(
SELECT id_tipo
FROM tipi_offerte
WHERE id_tipo_offerta IN
(
SELECT id_tipo_offerta
FROM tipi_offerte
) = id_offerta IN
(
SELECT id_offerta
FROM offerte
);
例如
$tipi_offerte = array(
array('id_tipo_offerta' => '5','id_tipo' => '3','id_offerta' => '5'),
array('id_tipo_offerta' => '6','id_tipo' => '2','id_offerta' => '6'),
array('id_tipo_offerta' => '7','id_tipo' => '2','id_offerta' => '7'),
array('id_tipo_offerta' => '8','id_tipo' => '2','id_offerta' => '8'),
这是我要使用的tipi_offerta表的一部分 和 这是我要复制的表格
$offerte = array(
array('id_offerta' => '6','titolo' => 'Vinci un fantastico Barbecue Weber con Develey!','slug' => 'vinci-un-fantastico-barbecue-weber-con-develey','link' => 'http://concorsi.develey.it/','negozio' => 'Develey','data_scadenza' => '2016-09-30','slider' => '1','contenuto_riservato' => '0','contenuto_verificato' => '1','in_evidenza' => '0','pagina_dedicata' => '1','descrizione' => 'Acquista le seguenti salse a marchio Develey nel formato vaso vetro 250ml: Salsa Messicana, Salsa Greca, Salsa Barbecue e il prodotto Ketchup BBQ in confezione Squeeze 250ml tutte riportanti un fix-a-form con il logo pubblicitario del concorso, e conserva lo scontrino in originale di acquisto. Compila il form di registrazione con tutti i tuoi dati e inserisci quelli dello scontrino in originale.','seo_personalizzato' => '1','seo_titolo' => 'Vinci un fantastico Barbecue Weber con Develey!','seo_keyword' => 'Barbecue Weber','seo_descrizione' => 'Comprando alcuni prodotti Develey è possibile vincere un Barbecue Weber. Munirsi dello scontrino originale.','pubblicita' => '0','codice_sconto' => '','click' => '50','autore' => 'giuseppe','stato' => '10','data_inserimento' => '2016-06-22 15:03:34','data_aggiornamento' => '2016-09-06 14:46:03','visto' => '1','modificata_da' => NULL,'tipo_offerta' => NULL),
array('id_offerta' => '7','titolo' => 'Scopri come vincere Buoni MediaWorld da 100€','slug' => 'scopri-come-vincere-buoni-mediaworld-da-100','link' => 'http://www.compagnidiviaggio-avventuristi.it/registrazione','negozio' => 'Allianz','data_scadenza' => '2016-09-15','slider' => '1','contenuto_riservato' => '0','contenuto_verificato' => '1','in_evidenza' => '0','pagina_dedicata' => '1','descrizione' => 'Registrati e rispondi ai questionari proposti per poter vincere Buoni MediaWorld da 100 euro! Per maggiori info consulta il regolamento.','seo_personalizzato' => '1','seo_titolo' => 'Scopri come vincere Buoni MediaWorld da 100€','seo_keyword' => 'Buoni MediaWorld','seo_descrizione' => 'Non farti scappare l\'occasione di vincere Buoni MediaWorld da 100€. Offerta valida fino al 15 luglio 2016.','pubblicita' => '0','codice_sconto' => '','click' => '16','autore' => 'giuseppe','stato' => '10','data_inserimento' => '2016-06-22 16:14:25','data_aggiornamento' => '2016-06-29 11:23:07','visto' => '1','modificata_da' => NULL,'tipo_offerta' => NULL),
array('id_offerta' => '8','titolo' => 'Super Premi Estivi targati Maxibon: power bank, teli da mare e altro','slug' => 'super-premi-estivi-targati-maxibon-power-bank-teli-da-mare-e-altro','link' => 'https://www.buonalavita.it/maxibon/','negozio' => 'Nestlè','data_scadenza' => '2016-07-31','slider' => '1','contenuto_riservato' => '0','contenuto_verificato' => '1','in_evidenza' => '0','pagina_dedicata' => '1','descrizione' => 'Registrati e partecipa al concorso Maxibon per vincere i prodotti da mare della linea "Granella" o "Biscotto": avrai fino a 10 possibilità al giorno!','seo_personalizzato' => '1','seo_titolo' => 'Super Premi Estivi targati Maxibon: power bank, teli da mare e altro','seo_keyword' => 'Concorso Maxibon','seo_descrizione' => 'Con il concorso Maxibon è possibile vincere teli da mare, palloni, power bank, occhiali e magliette.','pubblicita' => '0','codice_sconto' => '','click' => '49','autore' => 'giuseppe','stato' => '10','data_inserimento' => '2016-06-22 16:15:35','data_aggiornamento' => '2016-06-29 11:22:44','visto' => '1','modificata_da' => NULL,'tipo_offerta' => NULL),
我想复制 id_tipo
$tipi_offerte = array(
array('id_tipo_offerta' => '5','`id_tipo`' => '3','id_offerta' => '5'),
在 tipo_offerta
中 ` $offerte = array(
array('id_offerta' => '6','titolo' => 'Vinci un fantastico Barbecue Weber con Develey!','slug' => 'vinci-un-fantastico-barbecue-weber-con-develey','link' => 'http://concorsi.develey.it/','negozio' => 'Develey','data_scadenza' => '2016-09-30','slider' => '1','contenuto_riservato' => '0','contenuto_verificato' => '1','in_evidenza' => '0','pagina_dedicata' => '1','descrizione' => 'Acquista le seguenti salse a marchio Develey nel formato vaso vetro 250ml: Salsa Messicana, Salsa Greca, Salsa Barbecue e il prodotto Ketchup BBQ in confezione Squeeze 250ml tutte riportanti un fix-a-form con il logo pubblicitario del concorso, e conserva lo scontrino in originale di acquisto. Compila il form di registrazione con tutti i tuoi dati e inserisci quelli dello scontrino in originale.','seo_personalizzato' => '1','seo_titolo' => 'Vinci un fantastico Barbecue Weber con Develey!','seo_keyword' => 'Barbecue Weber','seo_descrizione' => 'Comprando alcuni prodotti Develey è possibile vincere un Barbecue Weber. Munirsi dello scontrino originale.','pubblicita' => '0','codice_sconto' => '','click' => '50','autore' => 'giuseppe','stato' => '10','data_inserimento' => '2016-06-22 15:03:34','data_aggiornamento' => '2016-09-06 14:46:03','visto' => '1','modificata_da' => NULL,'tipo_offerta' => NULL),`
id_tipo_offerta 等于 id_offerta
答案 0 :(得分:0)
查看代码似乎需要根据表格offerte和tipi_offerte之间的连接选择插入
假设表格offerte和tipi_offerte与id_offerta相关,您可以使用
insert into offerte (tipo_offerta, id_offerta)
select b.id_tipo, a.id_offerta
from offerte a
inner join tipi_offerte b on a.id_offerta = b.id_offerta
但可能是你的关系基于a.id_tipo_offerta = b.id_tipo_offerta 在这种情况下
insert into offerte (tipo_offerta, id_offerta)
select b.id_tipo, a.id_offerta
from offerte a
inner join tipi_offerte b on a.id_tipo_offerta = b.id_tipo_offerta
但如果问题是关于更新现有行中的值,那么您只需要一个UPDATE
UPDATE offerte a
inner join tipi_offerte b on a.id_offerta = b.id_tipo_offerta
set a.tipo_offerta = b.id_tipo
答案 1 :(得分:0)
如果我理解你的问题(真的不确定),那么这就是你要找的:
UPDATE
offerte
SET
offerte.tipo_offerta = tipi_offerte.id_tipo
FROM
offerte
INNER JOIN tipi_offerte
ON offerte.id = tipi_offerte.id_tipo_offerta
这假设在表tipi_offerte中,列id_tipo_offerta
是offerte表的id