-1

「Medien」という名前のテーブルを持つ「Library」という名前のデータベースが 1 つあります。それらの中に複数の列があり、Fname、Mname、Lname、および ISBN という名前の次の列を照会する必要があります。

ISBN ありと ISBN なしのデータベースの総レコード数を計算したいですか?

  • Fname = 著者の名前
  • Mname = 著者のミドルネーム
  • Lname = 著者の姓

ISBN 付きのレコードと ISBN なしのレコードの数を数えたいですか?

次のコマンドを実行しました

 Select COUNT(ISBN) as Fname FROM  `library`.`MEDIEN` where  Fname = `isbn`;
 Select COUNT(ISBN) as Mname FROM  `library`.`MEDIEN` where  Mname = `isbn`;
 Select COUNT(ISBN) as Lname FROM  `library`.`MEDIEN` where  Lname = `isbn`;
 Select COUNT(ISBN) as NtFname FROM `library`.`MEDIEN`where  Fname != `isbn`;
 Select COUNT(ISBN) as NtMname FROM `library`.`MEDIEN`where  Mname != `isbn`;
 Select COUNT(ISBN) as NtLname FROM `library`.`MEDIEN`where  Lname != `isbn`;

正しいコマンドを実行するかどうかわかりません。一部の ISBN レコードには、それぞれ Fname,Mname または Fname,Lname または Mname,Lname または Fname , Lname,Mname のみが含まれているためです。

例えば

筆頭著者

Fname: asher Lname: baig

5 冊の書籍の記録を書いていますが、そのうち 2 冊は ISBN 付きです。

合計出力は ISBN = 2 になります

欲望の出力はこのようになります

ISBN=value and NtISBN=value

このクエリを解決するのを手伝ってください

4

2 に答える 2

0

おそらく、OR 句を使用して 2 つのクエリを使用したいだけでしょう。これにより、特定の行が 2 回カウントされるのを回避できます。

Select COUNT(ISBN) as count FROM library.MEDIEN where
 verf1 = 'isbn'
 OR verf2 = 'isbn'
 OR verf3 = 'isbn';

そしてもちろん逆に:

Select COUNT(ISBN) as count FROM library.MEDIEN where verf1 != 'isbn'
   AND verf2 != 'isbn'
   AND verf3 != 'isbn';
于 2012-11-05T17:01:52.320 に答える