2009-09-28 8 views
0

Ceci est la base de données du schéma:Comment faire ceci dans Sql? Boucle? Multi-insert?

PC 
- id (pri key) 
- model 
- name 

Laptop 
- id (pri key) 
- model 
- name 

Comment puis-je obtenir pour chaque ordinateur portable unique (modèle), comment puis-je l'insérer dans le PC avec le numéro de modèle + 1? (+1 parce que je sais insérer dans pourrait fonctionner mais le problème dont j'ai besoin ne sera pas résolu avec insertion dans)

Une idée?


Elaboration:

Pour chaque ordinateur portable enregistrement unique (basé sur colonne modèle) que nous avons, nous voulons créer un enregistrement de PC dans lequel la colonne de modèle pour le PC serait +1 du modèle colonne dans l'ordinateur portable.

+1

CREATE VIEW Laptop ... – jrockway

+0

Je ne suis pas sûr de comprendre ce que vous essayez de faire ici. Voulez-vous importer les enregistrements de l'ordinateur portable dans le PC? –

+0

Vous avez vraiment besoin d'expliquer mieux ce que vous cherchez. La question est très difficile à comprendre. – JohnFx

Répondre

3

+1 ne s'arrête pas « INSERT INTO » de travail:

INSERT INTO PC 
    (Model, Name) 
SELECT DISTINCT Model + 1, Name 
FROM Laptop 
+0

Juste une intuition, parce que la question est difficile à comprendre, mais je pense que l'OP a ajouté le +1 parce qu'ils pensaient en quelque sorte que l'utilisation du même numéro de modèle ferait échouer l'insertion. Je pense que c'était une solution de contournement et ils ne voulaient pas nécessairement que le numéro de modèle soit +1. – JohnFx

0

Cela a été mentionné dans les commentaires par jrockway et est probablement votre meilleur pari si vous envisagez de garder la relation 1-1 des ordinateurs portables aux PC avec un numéro de modèle +1.

Supprimez la table d'ordinateur portable tout à fait et il suffit de créer la vue suivante (En supposant SQL Server):

CREATE VIEW PC 
AS 
SELECT ID,Model+1 as Model, Name 
FROM Laptop 

De cette façon, vous ne devez pas gérer et de garder deux tables synchronisées.