私は映画 DVD をほとんど持っていないので、MySQL で単純なデータベースを作成したいと考えています。DB構造をPFします。実際には正確な番号をリストしていないMySQLクエリがあります。私が持っている映画の。以下のクエリは -
SELECT SUM(Total) as total
FROM (
SELECT COUNT(DISTINCT(Movie1)) AS Total FROM tbl_movie
WHERE Movie1 !='' AND Movie1 IS NOT NULL AND DVDCategory='Movie'
UNION
SELECT COUNT(DISTINCT(Movie2)) FROM tbl_movie
WHERE Movie2 !='' AND Movie2 IS NOT NULL AND DVDCategory='Movie'
UNION
SELECT COUNT(DISTINCT(Movie3)) FROM tbl_movie
WHERE Movie3 !='' AND Movie3 IS NOT NULL AND DVDCategory='Movie'
UNION
SELECT COUNT(DISTINCT(Movie4)) FROM tbl_movie
WHERE Movie4 !='' AND Movie4 IS NOT NULL AND DVDCategory='Movie'
UNION
SELECT COUNT(DISTINCT(Movie5)) FROM tbl_movie
WHERE Movie5 !='' AND Movie5 IS NOT NULL AND DVDCategory='Movie'
UNION
SELECT COUNT(DISTINCT(Movie6)) FROM tbl_movie
WHERE Movie6 !='' AND Movie6 IS NOT NULL AND DVDCategory='Movie'
UNION
SELECT COUNT(DISTINCT(Movie7)) FROM tbl_movie
WHERE Movie7 !='' AND Movie7 IS NOT NULL AND DVDCategory='Movie'
) AS Total;
DB構造 -
ID DVD Movie1 Movie2 Movie3 Movie4 Movie5 Movie6 Movie7
__________________________________________________________________
1 1 IronMan Movie11 MindHunters 300 Jumper 7
2 2 IronMan2 Movie22 Grey Blood Diamond
3 3 Movie33 Red Eye Departed 300
4 4 Movie44 Gladiator King Kong
5 5 Movie55 Hitman
DB の 18 の映画ではなく、13 の結果が表示されます。質問のリストを検索しましたが、適切な回答が見つかりませんでした。どこが間違っているのか、またはこのクエリを整理するためのより良い方法はありますか?