Étant donné une table nommée "A" contienne les données suivantes
type name age
-----------------
cat d 2
5 Réponses :
Bien en supposant que les autres tables ont déjà été créées, vous auriez juste besoin d'un insert dans ... Sélectionnez CODE>, E.G. pour TABLA1 CODE>: INSERT INTO table1 (type, name, age)
SELECT type, name, age
FROM tableA
WHERE type = 'dog';
J'ai déjà utilisé ça. Mais c'est pour toujours. ne nécessitant pas les erreurs.
pourrait essayer d'utiliser Create View
Je pense que vous devez écrire une procédure avec une boucle tandis que Itérateur sera le nombre de types. Ensuite, créez une table pour chaque type séparément avec les mêmes colonnes et insérez des données dans la table dans la boucle TIM. P>
Pourriez-vous essayer cela avec un Curseur code> et Sélectionnez dans CODE>: DECLARE @Type VARCHAR(50);
DECLARE @TableCounter INT;
DECLARE @SQL VARCHAR(MAX);
DECLARE @TableName VARCHAR(20);
SET @TableCounter = 1;
DECLARE db_cursor CURSOR FOR
SELECT DISTINCT type
FROM Table_A
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @Type
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @Type
SET @TableName = CONCAT('Table_', @TableCounter)
SET @SQL = 'SELECT * INTO '+ @TableName +' FROM Table_A WHERE Type = ''' + @Type+''''
EXEC (@SQL)
SET @TableCounter = @TableCounter + 1;
FETCH NEXT FROM db_cursor INTO @Type
END
CLOSE db_cursor
DEALLOCATE db_cursor
Pour éviter la duplication de code et la création de tables inutiles, je créerais un maintenant Vous pouvez appeler la fonction Query 1: P> type code> dans votre cas ) et renvoie la table d'origine filtrée en conséquence: getnamebype code> avec différents type code> et vous pouvez l'utiliser En tant que table. P> select * from GetNameByType('cat')
mysql ou sql-serveur ???
@Simoos. . . J'ai supprimé les balises de base de données incompatibles. Il n'y a pas de raison évidente de diviser une table en trois de cette façon. Pouvez-vous motiver ce que vous voulez accomplir?
Meilleur moyen de créer une table de type et de remplacer tous les types avec TYPETID
@Gordonlinoff Laissez-vous dire que j'ai un centre de soins d'animaux contenant du département qui ne gère qu'un seul type d'animal, mais j'ai une table de données de tous les animaux au centre. Et je dois envoyer à chaque département les seules données qu'ils concernaient.
@Simoos Pourquoi ne suffirait-il pas à interroger
Tablea code> et filtrer sur la colonne code> de type code> pour chaque département?