web-dev-qa-db-fra.com

Comment construire une requête JOIN avec les méthodes de requête de Joomla?

Je suis vraiment nouveau dans les requêtes SQL mais je suis maintenant coincé avec celle-ci.

J'ai besoin du prénom et du nom d'un utilisateur de la table #__comprofiler où leur cb_job_role = 'Team Leader' et leur cb_service_name = [the cb_service_name of the currently logged in user].

En fin de compte, il serait bon que le résultat puisse également être un hyperlien vers le profil de la personne dans le résultat.

J'utilise: Joomla! 3.8.13
Constructeur de communauté MySQL 5.5.5-10

Toute aide serait très appréciée, veuillez noter que je suis aveugle et que j'utilise un lecteur d'écran pour accéder à mon ordinateur, je ne peux donc pas voir les images ni les captures d'écran.

--- MISE À JOUR 22/10/18 ---

Exportation de base de données sous forme de texte, tous les noms sont fictifs.

== Structure de la table pour la table traincomprofiler

| ---Colonne | Type | Null | Défaut | ------ | // --- (id // | int (11) | Non | 0 | ser_id | int (11) | Non | 0 | alias | varchar (150) | Oui | NULL | prénom | varchar (100) | Oui | NULL | nom moyen | varchar (100) | Oui | NULL | nom | varchar ( 100) | Oui | NULL | hits | int (11) | Non | 0 | message_last_sent | datetime | Non | 0000-00-00 00:00:00 | message_number_sent | int (11) | Non | 0 | avatar | texte | Oui | NULL | avatarapproved | tinyint (4) | Non | 1 | canvas | texte | Oui | NULL | canvasapproved | tinyint (4) | Non | 1 | canvasposition | tinyint (4) | Non | 50 | approuvé | tinyint (4 ) | No | 1 | confirmé | tinyint (4) | No | 1 | lastupdatedate | datetime | No | 0000-00-00 00:00:00 | registeripaddr | varchar (50) | Non | | cbactivation | varchar (50) | Non | | banned | tinyint (4) | No | 0 | banneddate | datetime | Yes | NULL | unbanneddate | datetime | Yes | NULL | bannedby | int (11) | Oui | NULL | unbannedby | int (11) | Oui | NULL | bannedreason | mediumtext | Yes | NULL | règlements acceptés | tinyint (1) | No | 0 | invite_code | text | Yes | NULL | cb_role | text | Yes | NULL | cb_contract_type | text | Yes | NULL | cb_registration_type | ttint | 3 | Oui | NULL | nom_service cb | texte | Oui | NULL | cb_team_leader | text | Oui | NULL | cb_support_workers | text | Oui | NULL | cb_locality_manager | text | Oui | NULL | cb_team_worker_child | 0000-00-00 00:00:00 | cb_test_field | mediumtext | Oui | NULL | cb_fp_course_date | text | Oui | NULL == Données de vidage pour la table traincomprofiler

| ------ | id | id_utilisateur | alias | prénom | middlename | nom | hits | message_last_sent | message_number_sent | avatar | avatarapproved | canvas | canvasapproved | canvasposition | approuvé | lastupdateate | registeripaddr | cbactivation | banned | bannedd | brib_tranger | cb_registration_type | cb_registration_type | c | v | | Joe | | Turner | 0 | 0000-00-00 00: 00: 00 | 0 | NULL | 1 | NULL | 1 | 50 | 1 | 1 | 0000-00-00 00: 00: 00 | | | 0 | NULL | NULL | NULL | NULL | NULL | 0 | NULL | support_child | contract | 0 | NULL | NULL | NULL | NULL | NULL | NULL | 0000-00-00 00: 00: 00 | NULL | 0000-00- 00 00:00:00 | 502 | 502 | | Hannah | Bud | Apple | 0 | 0000-00-00 00: 00: 00 | 0 | NULL | 1 | NULL | 1 | 50 | 1 | 1 | 2018-10-10 08: 59: 24 | | | 0 | NULL | NULL | NULL | NULL | NULL | 0 | NULL | support_child | bank | 0 | Maison Bleue | Elizabeth Small | NULL | NULL | NULL | NULL | 0000-00-00 00: 00: 00 | 0000 -00-00 00:00:00 | 503 | 503 | | Thomas | Orange | Hope | 0 | 0000-00-00 00: 00: 00 | 0 | NULL | 1 | NULL | 1 | 50 | 1 | 1 | 0000-00-00 00: 00: 00 | | | 0 | NULL | NULL | NULL | NULL | NULL | 0 | NULL | team_leader_adults | contract | 0 | NULL | NULL | NULL | NULL | NULL | NULL | 0000-00-00 00: 00: 00 | NULL | 0000-00- 00 00:00:00 | 504 | 504 | | Rebecca | Jane | English | 0 | 0000-00-00 00: 00: 00 | 0 | NULL | 1 | NULL | 1 | 50 | 1 | 1 | 0000-00-00 00: 00: 00 | | | 0 | NULL | NULL | NULL | NULL | NULL | 0 | NULL | locality_manager | contract | 0 | NULL | NULL | NULL | NULL | NULL | NULL | 0000-00-00 00: 00: 00 | NULL | 0000-00- 00 00:00:00 | 505 | 505 | | Charlotte | Pink | Lady | 0 | 0000-00-00 00: 00: 00 | 0 | NULL | 1 | NULL | 1 | 50 | 1 | 1 | 2018-10-10 14: 08: 25 | | | 0 | NULL | NULL | NULL | NULL | NULL | 0 | NULL | learning_development_team | contract | 0 | Blue House Bristol | | [{"cb_team_worker_child": ""}, {"cb_team_worker_child": ""}] | Rebecca Français | NULL | 0000-00-00 00: 00: 00 | NULL | 0000-00-00 00:00:00 | 507 | 507 | | Maison bleue | | Bristol | 0 | 0000-00-00 00: 00: 00 | 0 | NULL | 1 | NULL | 1 | 50 | 1 | 1 | 0000-00-00 00: 00: 00 | | | 0 | NULL | NULL | NULL | NULL | NULL | 0 | NULL | services | contrat | 1 | NULL | NULL | NULL | NULL | NULL | NULL | 0000-00-00 00: 00: 00 | 0000-00- 00 00:00:00

1
Rebecca

Finalement, j'ai réussi à le comprendre et le code résultant est le suivant. Peut-être que cela aidera quelqu'un d'autre dans le futur s'il a besoin d'une solution similaire.

select t2.id, CONCAT( " ", t2.firstname, t2.lastname) as whole_name
FROM #__comprofiler as t1, #__comprofiler as t2
where t1.cb_service_name = t2.cb_service_name
and t2.cb_role = "team_leader"
    and t1.user_id = [user_id] 

Pour que les résultats soient liés au profil de l'utilisateur respectif, vous avez utilisé un lien "column_".

Un grand merci à tous ceux qui ont offert leur aide avec cela, très apprécié.

1
Rebecca