我希望将一个列从一个表复制到另一个表中的另一个列,第一个表中的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
发布于 2018-03-14 11:00:57
从您的代码来看,您需要基于表提供和tipi_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 offerte a
inner join tipi_offerte b on a.id_offerta = b.id_tipo_offerta
set a.tipo_offerta = b.id_tipo发布于 2018-03-14 11:01:59
如果我正确地理解了你的问题(真的不确定),那么这就是你想要的:
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是提供表的id。
https://stackoverflow.com/questions/49275644
复制相似问题