que nous avons deux tables:requête SQL pour obtenir des lignes distinctes de plusieurs tables
Company
+---+-----+
|id | name|
+---+-----+
|1 | bar |
|2 | foo |
+---+-----+
Branch
+----+----+-------+
|cid | id | profit|
+----+----+-------+
|1 | 10 | 100 |
|1 | 11 | 200 |
|2 | 20 | 50 |
+----+----+-------+
--cid in Branch is the foreign key to company id
La requête est de trouver des entreprises uniques avec au moins une branche ayant profit> 100 dire.
Une façon est:
SELECT DISTINCT c.id, c.name
FROM Company c, Branch b
WHERE c.id == b.cid AND b.profit > 100;
Le scénario particulier est que très peu d'entreprises ont des succursales (essentiellement les entrées dans le tableau de la Direction générale est beaucoup moins que ceux Société Compte tenu de ces informations est la requête au-dessus de la meilleure possible. Ou est-il une alternative?
J'ai finalement décidé d'aller avec cette compte tenu du scénario spécifique. – amit