Предположим, что в отношении R (X, Y, Z) имеется следующее МВД:
X ->> YZ
Поскольку я могу написать FD X -> Y
в SQL как таковой:
SELECT X
FROM R
GROUP BY A
HAVING COUNT (DISTINCT Y) > 1
Я пытаюсь применить ту же логическую мысль к упомянутому выше МВД:
SELECT X
FROM R AS R1
INNER JOIN
R as R2
ON R1.X = R2.X
GROUP BY R1.X, R2.X
HAVING COUNT(DISTINCT R1.B > 1) and COUNT(DISTINCT R1.C > 1)
но что-то мне кажется неправильным, особенно в заявлениях JOIN
И HAVING
. Может кто-нибудь подскажет, что здесь не так?
SQLite3
- person cybertextron   schedule 14.07.2014