Je tables comme:Une table, besoin de plusieurs valeurs de différentes lignes/tuples
'profile_values'
userID | fid | value
-------+---------+-------
1 | 3 | [email protected]
1 | 45 | 203-234-2345
3 | 3 | [email protected]
1 | 45 | 123-456-7890
Et:
'users'
userID | name
-------+-------
1 | joe
2 | jane
3 | jake
Je veux les rejoindre et ont une ligne avec deux des valeurs telles que :
'profile_values'
userID | name | email | phone
-------+-------+----------------+--------------
1 | joe | [email protected] | 203-234-2345
2 | jane | [email protected] | 123-456-7890
Je l'ai résolu, mais il se sent maladroit et je veux savoir s'il y a une meilleure façon de le faire. Signifiant des solutions plus lisibles ou plus rapides (optimisées) ou simplement des meilleures pratiques.
solution actuelle: plusieurs tables sélectionnées, de nombreuses déclarations conditionnelles:
SELECT u.userID AS memberid,
u.name AS first_name,
pv1.value AS fname,
pv2.value as lname
FROM users AS u,
profile_values AS pv1,
profile_values AS pv2,
WHERE u.userID = pv1.userID
AND pv1.fid = 3
AND u.userID = pv2.userID
AND pv2.fid = 45;
Merci pour l'aide!
est-ce que les 2 dernières lignes du premier tableau devraient avoir 2 dans la première colonne? – potatopeelings
Je veux juste combiner une table d'utilisateur qui a beaucoup plus de valeurs appartenant à cet utilisateur dans une rangée. Mais ces autres valeurs existent dans plusieurs lignes dans une seule table. Donc en combinant cela dans une table avec les valeurs dans une rangée. Le profil utilisateur du module Drupal fonctionne de cette façon lorsqu'il ajoute des fonctionnalités pour étendre les valeurs du profil utilisateur. – JeroenEijkhof