Ich versuche, unter Abfrage zu konvertieren über JoinsConvert Sub-Abfrage in Joins
SELECT DISTINCT req.*
FROM request req
WHERE (req.user_id IN (
SELECT id from user where id in (SELECT user_id FROM team_member team WHERE team.team_id IN ('344', '723')) and user.active = 1
)
OR req.user_id IN (
SELECT id from user where id in (SELECT approved_employee_id from approver where approver_id = '269') and user.active = 1
))
AND req.status = 'pending';
124 Datensätze zurückgibt.
Ich habe unten Abfrage schrieb über schließt sich aber nicht funktioniert,
SELECT DISTINCT req.*
FROM request req
LEFT JOIN user u ON u.id = req.user_id AND u.active = 1
LEFT JOIN team_member team ON team.user_id = u.id AND team.team_id IN ('344', '723')
LEFT JOIN approver app ON app.approver_id = u.id AND app.approver_id = '269'
AND req.status = 'pending';
gibt mehr als 500 Datensätze.
zwei Probleme mit diesem Joins, es enthält auch Anfragen, bei denen der Status nicht aussteht.
unten ist das Schema
I unten Tabellen
tbl_approver =
id,
approver_id (FK tbl_user),
approver_team_id (FK tbl_team),
approved_employee_id (FK tbl_user)
tbl_team_mambers =
id,
team_id (FK),
user_id (FK)
tble_user =
id,
email,
username
active
tbl_request =
id,
user_id,
status
- Teams Mitglieder: Ein Benutzer ist Mitglied mehrerer Teams.
- Approver:
- Für jedes Team gibt es einen Genehmiger, der auch Mitglied dieses Teams ist.
- kann ein Mitarbeiter unabhängig vom Team direkt genehmigen.
- Anfrage: Inventar Anfragen vom Benutzer
Hinweis: als Genehmiger, kann ich Mitglied von vielen Teams, aber nur Genehmiger einiger Teams. oder ein Angestellter auch.
Frage gesucht: als Genehmiger möchte ich alle Anfrage von meinen Teams, die ich Genehmiger bin.
Es würde helfen, wenn Sie Ihr Schema enthalten, Beispieldaten, Ausgang und erwartete Ausgabe. – shmosel
jQuery ist eine Javascript-Bibliothek und hat nichts mit mysql/sql zu tun ... versuchen Sie, Fragen passend zu markieren – charlietfl
@shmosel sehen Sie die aktualisierte Frage jetzt. –