2011-12-05 1 views
0

Tableau un: products qui ont des champs commeComment mettre à jour un enregistrement de table en utilisant une autre table dans une base de données?

products_id 
products_price 
master_categories_id 

Tableau deux: specials. Ce tableau est vide, les champs sont en elle

specials_id (an autoincrement field) 
products_id (the value same as table one) 
specials_new_products_price (the value equals products_price-(products_price*0.05)) 
specials_date_added (the value like this 2011-12-05 12:17:44) 
specials_last_modified (the value like this 2011-12-05 12:19:10) 
expires_date (2011-12-31) 
date_status_change (the value like this 2011-12-05 12:19:10) 
status (1) 
specials_date_available (2011-11-29) 

maintenant, je veux insérer les données

("SELECT products_id,products_price FROM products where master_categories_id=79") 
into table 2. and set the `status=1, specials_date_available=2011-11-29, 
expires_date=2011-12-31`.`products_id(the value same as table one) 

specials_new_products_price (the value equals products_price-(products_price*0.05)) 

valeur de champ reste est à vous.

la façon dont je pense que ce n'est pas bon, écrivez un fichier php pour faire l'insertion. sélectionnez le products_id, products_price, puis placez-les dans un fichier txt ligne par ligne, puis placez le contenu du fichier dans la table 2. mais je ne sais pas comment mettre les données du fichier texte dans la table2 et comment définir le valeur des champs de repos?

Répondre

0
insert into specials 
(products_id, products_price,status,specials_date_available,expires_date) 
SELECT products_id,products_price*0.95 as products_price, 
1, '2011-11-29', '2011-12-31' 
FROM products where master_categories_id=79 

ou quelque chose comme ça.

+0

Je suis désolé, je ne sais pas comment utiliser votre commande sql? et comment définir la valeur de ces fichiers specials_date_added date_status_change specials_last_modified – down321

+0

Les commandes SQL sont normalement utilisées en cours d'exécution. Bien sûr, vous devez le comprendre en premier. Eh bien, il insère les résultats de la requête (y compris les valeurs littérales) dans des offres spéciales sous la forme d'une liste de colonnes de noms. Maintenant que je l'ai expliqué je peux à peine * le comprendre * pour vous :) –

+0

mais dans vos commandes SQL le produit products_price votre insertion dans la table specials n'est pas je veux, je veux que sa valeur égale products_price- (products_price * 0.05) – down321

Questions connexes