J'ai un tableau des enregistrements démographiques dans la base de données.Application de filtres tabulés indéterminés à une table
| biDemographicId | biPostId | vcDemographicType | vcDemographicValue |
|-----------------|----------|-------------------|--------------------|
| 1 | 1 | country | CA |
| 2 | 1 | language | FR |
| 3 | 1 | platform | IOS |
| 4 | 2 | country | US |
| 5 | 2 | language | EN |
| 6 | 2 | platform | IOS |
| 7 | 3 | country | US |
| 8 | 3 | language | ES |
| 9 | 3 | platform | WEB |
que je veux les seuls où les enregistrements:
- Pays est CA ou US
- Langue est FR.
- La plate-forme est IOS.
Ces filtres sont passés en format XML, puis sous forme de tableaux:
<Demographics>
<Demographic type="country">US</Demographic>
<Demographic type="country">CA</Demographic>
<Demographic type="lang">FR</Demographic>
<Demographic type="platform">IOS</Demographic>
</Demographics>
| vcFilterType | vcFilterValue |
|--------------|---------------|
| language | FR |
| country | CA |
| country | US |
| platform | IOS |
Mon résultat souhaité serait la suivante:
| biDemographicId | biPostId | vcDemographicType | vcDemographicValue |
|-----------------|----------|-------------------|--------------------|
| 1 | 1 | country | CA |
| 2 | 1 | language | FR |
| 3 | 1 | platform | IOS |
Ou plus généralement:
{
{ posts | type=type1 & value=value1,1 }
∪ ...
∪ { posts | type=type1 & value=value1,N }
}
∩
...
∩
{
{ posts | type=typeM & value=valueN,1 }
∪ ...
∪ { posts | type=typeM & value=valueM,N }
}
Avec une table de filtre:
| vcFilterType | vcFilterValue |
|--------------|---------------|
| type1 | value1,1 |
| ... | ... |
| type1 | value1,N |
| ... | ... |
| typeM | valueM,1 |
| ... | ... |
| typeM | valueM,N |
Mon problème est que les types et les valeurs sont des variables, donc je ne peux pas simplement faire WHERE type = 'country' AND value = 'CA'
.
Construire une requête dynamique dans la langue que vous utilisez le développement. –
Ces filtres sont passés dans quoi? –