J'essaie de faire une requête dans MySQL pour obtenir n'importe quelle colonne ayant une valeur spécifique pour une ligne spécifique. Dans MySQL, nous pouvons obtenir des lignes basées sur n'importe quelle valeur spécifique d'une colonne.
J'ai une table comme celle-ci :
+----+------------+------------+---------------+---------------+---------+----------------+--------- | ID | MSISDN | MissedCall | SponsoredCall | AdvanceCredit | ACvalue | SuitablePackId | AutoTimeStamp | +----+------------+------------+---------------+---------------+---------+----------------+---------------------+ | 1 | 9944994488 | 1 | 0 | 1 | 0 | 1 | 2014-09-18 10:42:55 | | 4 | 9879877897 | 0 | 1 | 0 | 0 | 2 | 2014-09-18 10:42:55 | +----+------------+------------+---------------+---------------+---------+----------------+---------------------+
Ce dont j'ai besoin, c'est que lorsque je sélectionne une ligne basée sur MSISDN, elle renvoie tous les noms de colonnes de cette ligne avec une valeur fixe (par exemple 1).
Donc, dans le tableau ci-dessus, MSISDN = 9944994488 devrait revenir
MissedCall AdvanceCredit SuitablePackId
Ce que j'ai essayé, c'est :
SELECT COLUMN_NAME as names FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'bi' AND TABLE_NAME = 'useranalysisresult'
Cela renvoie les noms de colonnes de la table. Mais comment obtenir le nom de la colonne avec une valeur spécifique. Merci d'avance pour votre aide.
Le commentaire est trop long.
Les requêtes SQL renvoient un ensemble fixe de colonnes. Vous ne pouvez pas modifier les paramètres par ligne. Vous pouvez utiliser des instructions préparées pour faire ce que vous voulez, même si cela peut sembler une approche mystérieuse.
Vous pouvez renvoyer une colonne contenant des valeurs concaténées entre elles. Quelque chose comme ça :
Cela générera une list dans une seule colonne des drapeaux définis.