1

私は映画 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 の結果が表示されます。質問のリストを検索しましたが、適切な回答が見つかりませんでした。どこが間違っているのか、またはこのクエリを整理するためのより良い方法はありますか?

4

1 に答える 1