PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   SQL / Datenbanken (https://www.php-resource.de/forum/sql-datenbanken/)
-   -   SQL-Abfrage vereinfachen (https://www.php-resource.de/forum/sql-datenbanken/106360-sql-abfrage-vereinfachen.html)

Kanaffig 02-10-2018 12:50

SQL-Abfrage vereinfachen
 
Hallo,

ich habe drei Tabellen mit folgenden ähnlichen Aufbau:

Code:

clients    || contact    || files
---------------------------------------
client_id  || contact_id  || file_id
firstname  || client_id  || client_id
lastname    || name        || filename
company_id  || number      || filepath

In der Tabelle 'Files' sollen nachher 3 Dateien pro Klient hinterlegt sein. Nun soll eine Übersichtstabelle generiert werden, wo jeder Klient aufgelistet wird, zusätzlich seine Kontaktperson und ob die 3 benötigten Dateien vorhanden sind, welche der "Company 6" angehören.

Den ersten Teil der Abfrage löse ich bisher so:
Code:

SELECT clients.firstname AS 'VORNAME'
      clients.lastname AS 'NACHNAME'
      contact.name AS 'KONTAKTNAME',
      contact.number AS 'TELEFON'   
FROM  contact
LEFT JOIN client ON contact.client_id = clients.id
WHERE contact.client_id IN (SELECT clients.id FROM clients WHERE clients.company_id = 6)

Nun würde ich pro Klienten drei Abfragen an die DB senden
Code:

SELECT COUNT FROM files WHERE client_id=X AND filename LIKE 'tolledatei';
SELECT COUNT FROM files WHERE client_id=X AND filename LIKE 'superdatei';
SELECT COUNT FROM files WHERE client_id=X AND filename LIKE 'cooledatei';

"Wenn $result >= 1 dann Datei da"

Das fühlt sich für mich als eher unerfahrener Datenbankler nicht wirklich gut an und ich denke, dass es da doch sicherlich eine bessere Lösung für gibt.


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:17 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG