- ベストアンサー
複数のテーブルの レコード件数所得
sql初心者です。 php sql4.1を使って テーブルA・テーブルBの総レコード件数を所得がうまくできません。 テーブルAの◇◇が○○の含むレコード件数を所得は SELECT count(*) FROM テーブルA WHERE ◇◇ LIKE ○○ でできました。 テーブルA・テーブルBの◇◇が○○の含むレコード件数を所得はどうすればいいのでしょうか? よろしくお願いいたします.
- みんなの回答 (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で足すのと同じですね。
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
なにがいいたいかわかりません。 テーブルAでできるのですから、テーブルBにも同じことをすれば よいのでは? SELECT count(*) FROM テーブルA WHERE `◇◇` LIKE '%○○%'; SELECT count(*) FROM テーブルB WHERE `◇◇` LIKE '%○○%';
補足
返事ありがとうございます。 説明不足ですいませんでした。 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という感じです。
お礼
ありがとうございます。 根本的な事がわかっていなかったため対応できなかったんですがsqlを勉強し、上記の件のやり方がわかりました。 解決です。ありがとうございます。