• ベストアンサー

複数のテーブルの レコード件数所得

sql初心者です。 php sql4.1を使って テーブルA・テーブルBの総レコード件数を所得がうまくできません。 テーブルAの◇◇が○○の含むレコード件数を所得は SELECT count(*) FROM テーブルA WHERE ◇◇ LIKE ○○ でできました。 テーブルA・テーブルBの◇◇が○○の含むレコード件数を所得はどうすればいいのでしょうか? よろしくお願いいたします.

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

PHPをご利用なので、別々に算出して足せばよいと思いますが。 どうしても一発でやりたいということであればUNIONで結合ですかね。 ただこの場合UNIONする方が効率わるいと思います。 また変数を使ってうけるというてもあります。 SET @COUNT=0; SELECT @COUNT:=@COUNT+count(*) FROM テーブルA WHERE `◇◇` LIKE '%○○%'; SELECT @COUNT:=@COUNT+count(*) FROM テーブルB WHERE `◇◇` LIKE '%○○%'; SELECT @COUNT; 結局やっていることはPHPで足すのと同じですね。

kenken8378
質問者

お礼

ありがとうございます。 根本的な事がわかっていなかったため対応できなかったんですがsqlを勉強し、上記の件のやり方がわかりました。 解決です。ありがとうございます。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

なにがいいたいかわかりません。 テーブルAでできるのですから、テーブルBにも同じことをすれば よいのでは? SELECT count(*) FROM テーブルA WHERE `◇◇` LIKE '%○○%'; SELECT count(*) FROM テーブルB WHERE `◇◇` LIKE '%○○%';

kenken8378
質問者

補足

返事ありがとうございます。 説明不足ですいませんでした。 SELECT count(*) FROM テーブルA WHERE `◇◇` LIKE '%○○%'; SELECT count(*) FROM テーブルB WHERE `◇◇` LIKE '%○○%'; はそれぞれのテーブルのレコード数ですよね テーブルAとテーブルBの総レコードを得たいのですが 例えば テーブルAは id name score ◇◇ 01 ono 90 ○○ 05 yamada 30 ○○ 06 kaji 40 ○○ 11 maki 90 ○○ テーブルBは id name score ◇◇ 08 oshimu 30 ○○ 05 matsuki 40 ○○ 10 echigo 100 ○○ 総レコード数は7という感じです。