0
votes

Le groupe donne lieu à SQL

Dans mon tableau de paramètres, il existe un champ dont le contenu est le suivant: xxx

(grades)

Je me demande s'il y a un moyen facile de construire une requête SQL sélectionnée qui retourne:

  • droit
  • chimie
  • Historique
  • Langue moderne

    Le but est de filtrer un portail qui affiche tous les enseignants afin de ne montrer que des enseignants d'un sujet délimité.

    Merci d'avance.


2 commentaires

Tagez votre question avec la base de données que vous utilisez.


Si vous n'êtes pas intéressé par une partie de la colonne, alors pourquoi le stockez-vous concaténé comme ceci? Le meilleur moyen serait probablement de remplacer cette colonne de classe avec un identifiant de classe qui relie une table de classe, qui contient à nouveau un identifiant de sujet à une table d'objet.


6 Réponses :


0
votes

Ce n'est pas clair exactement ce que vous demandez. Si vous souhaitez supprimer les deux derniers caractères et obtenir la valeur distincte, vous pouvez faire quelque chose comme ceci: xxx

toutes les bases de données prend en charge la fonctionnalité de gauche () et len () ; Cependant, le nom peut être différent dans la base de données que vous utilisez.


0 commentaires

0
votes

Si vous utilisez MS SQL, vous pouvez utiliser la soustrine et Charindex pour calculer les données de manière dynamique. Si vous voulez de la valeur avant l'espace, supposez-vous pour «Law 1», si vous souhaitez obtenir la loi en identifiant l'espace entre deux, cela sera utile. xxx

sortie: xxx


0 commentaires

0
votes

Une solution pour cette exigence dépend de la base de données que vous utilisez.
Ceci est pour MySQL:

| grouped_col     |
| --------------- |
| Law             |
| Chemistry       |
| History         |
| Modern language |


0 commentaires

0
votes

Il suffit de remplacer les substrings de caractères indésirables et sélectionnez Distinct car je vous vois que vous voulez des agrégats dans votre requête en regroupant.

Si vous souhaitez regrouper et agrégation aussi, utilisez ci-dessous la colonne SORTIE dans le groupe par ainsi que supprimer distinct xxx


0 commentaires

0
votes

Quelque chose qui extraire tout avant la dernière occurrence du caractère spatial est ce dont vous avez besoin. Donnez ceci un essai ..

SQL Server xxx

mysql xxx < / pré>


0 commentaires

1
votes

FileMaker prend en charge uniquement un sous-ensemble limité de SQL. Ce qui suit pourrait travailler pour vous (en supposant que vos chiffres ne vont jamais au-dessus de 9):

SELECT DISTINCT LEFT(YourField, LENGTH(YourField) - 2) 
FROM YourTable


0 commentaires