J'essaie d'effectuer ce que je suppose être une requête très simple sur une base de données MySQL. Voici ma configuration de table;sélectionner des valeurs de plusieurs tables où valeur = X
Tableau 1 - CMS_AccessLevels
- AccessLevel
- titlecolor
Tableau 2 - CMS_Users
- utilisateurID
- nom d'utilisateur
- USEREMAIL
- useravatar
- userSignature
- ACCESSLEVEL
J'ai déjà cette requête;
SELECT `titleColor` FROM `CMS_AccessLevels` WHERE `accessLevel` = (SELECT `accessLevel` FROM `CMS_Users` WHERE `userID` = 3)
Cela fonctionne correctement et renvoie la valeur titleColor
correcte basée sur la mise en correspondance accessLevel
entre les deux tables.
Maintenant, ce que je veux faire est aussi de saisir certaines des valeurs de CMS_Users
. Par souci de simplicité, supposons que je veuille saisir seulement quelques-unes des valeurs, mon ensemble de résultats pourrait ressembler à ceci;
userID|username|userAvatar|accessLevel|titleColor
-------------------------------------------------
0 |Scott |image.png | 6 |#FFFFFF
ou comme un tableau PHP (montré juste pour que vous pouvez voir la disposition logique si le tableau ci-dessus n'a pas de sens);
array('userID' => $result['userID'],
'username' => $result['username'],
'userAvatar' => $result['userAvatar'],
'accessLevel' => $result['accessLevel'],
'titleColor' => $result['titleColor'];
Disons que je veux userID
, userName
, userAvatar
et accessLevel
de CMS_Users
et titleColor
de CMS_AccessLevels
où CMS_Users.userID
est égal à '3', se souvenant que CMS_AccessLevels.accessLevel
et CMS_Users.accessLevel
MUST correspondance.
De manière réaliste, la seule donnée que je connaisse avant d'exécuter la requête est userID
.
Est-il possible de le faire avec une seule requête?
Parfait! Merci :) –
Vous êtes les bienvenus :) – sarwar026