2013-10-07 6 views
3

Mon SQL demande ressemble à ceObtenir des valeurs de différentes tables avec des colonnes identiques dans un tableau

SELECT Objects.name, Elements.name, Labels.name.... 

J'écris des valeurs de cette demande dans un tableau, comme ceci:

while([results next]){ 

[arrayObjects addObject:[results stringForColumn:@"Objects.name"]]; 
    [arrayElements addObject:[results stringForColumn:@"Elements.name"]]; 
    [arrayLabels addObject:[results stringForColumn:@"Labels.name"]]; 
     ... 

} 

Je vois ce message: « Attention: je ne pouvais pas trouver la colonne nommée « objects.name » »

Mais si j'écris

while([results next]){ 

[arrayObjects addObject:[results stringForColumn:@"name"]]; 
    [arrayElements addObject:[results stringForColumn:@"name"]]; 
    [arrayLabels addObject:[results stringForColumn:@"name"]]; 
     ... 

} 

alors j'ai seulement la dernière valeur pour tous les tableaux.

Y at-il un moyen de résoudre ce problème?

Répondre

1

est ici quelque chose à essayer, je ne suis pas sûr que ce soit ce que vous cherchez:

au lieu de chaque colonne en utilisant le « même nom » comme ceci: « SELECT Objects.name, Elements.name , Labels.name .... »

Essayez ceci: "SELECT Objects.name comme O_name, Elements.name comme E_name, Labels.name comme L_Name ...."

alors, vous pouvez utiliser les noms de colonnes uniques:

[arrayObjects addObject:[results stringForColumn:@"O_name"]]; 
[arrayElements addObject:[results stringForColumn:@"E_name"]]; 
[arrayLabels addObject:[results stringForColumn:@"L_name"]]; 
    ... 
+0

Oh! Merci beaucoup! Cela fonctionne très bien !!! – rusBogun

+0

heureux qu'il vous a aidé! – BWS

Questions connexes