Ich führe diese Abfrage in einem PHP-Skript. Ich habe ein Papier und Benutzer Tabellen. Wenn jedes Papier einen Besitzer hat. Und jeder Benutzer hat eine Firmen-ID. Was ich will, ist, dass Benutzer, die die gleiche Firmen-ID haben, ihre jeweiligen Papiere sehen sollten, also habe ich versucht, diese Erlaubnis über paper_id und user_id zu überprüfen.mysql Join mit zusätzlichen Bedingungen
papers
---------
id
user_id
paper_details
users
----------
user_id
company_id
user_details
Um zu überprüfen, gibt es ein Ergebnis für ein Papier und einen Benutzer, den ich versuchte Abfrage unten. Ich habe nur $ user_id_variable und $ paper_id_variable Variablen während dieser Abfrage. Allerdings konnte ich ** $ user_id_variable ** an keiner Stelle in der Abfrage einfügen.
SELECT * FROM papers
INNER JOIN
users u on u.user_id= papers.user_id
WHERE
papers.user_id in (
SELECT user_id FROM users WHERE users.company_id=u.company_id
)
AND papers.id = '$paper_id_variable'
EDIT Beispieldaten und erwartete Ergebnis:
--papers--
id | user_id
1 | 1
--users--
user_id | company_id
1 | 10
2 | 10
3 | 11
Nach Tabelle oben sollte die erwarteten Ergebnisse sein:
when paper id = 1 and user id 1 -> result count = 1
when paper id = 1 and user id 2 -> result count = 1
when paper id = 1 and user id 3 -> result count = 0
Vielen Dank für Ihre Zeit ,,
können Sie einige Beispieldaten und das erwartete Ergebnis hinzufügen? – Jens
Überprüfen Sie die Bearbeitung bitte –