0

2つのテーブルを結合して結果をカウントしようとしています。私はこれらのテーブルを持っています。

SET NAMES utf8;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
--  Table structure for `segments`
-- ----------------------------
DROP TABLE IF EXISTS `segments`;
CREATE TABLE `segments` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `substr_id` int(255) NOT NULL,
  `substr` varchar(255) NOT NULL,
  `count` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;

-- ----------------------------
--  Records of `segments`
-- ----------------------------
BEGIN;
INSERT INTO `segments` VALUES ('1', '1', 'book', '2'), ('2', '2', 'ooki', '1'), ('3', '2', 'okin', '1'), ('4', '2', 'king', '1');
COMMIT;

-- ----------------------------
--  Table structure for `words`
-- ----------------------------
DROP TABLE IF EXISTS `words`;
CREATE TABLE `words` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `substr_id` int(11) NOT NULL,
  `word` varchar(255) NOT NULL,
  `cleaned` tinyint(1) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;

-- ----------------------------
--  Records of `words`
-- ----------------------------
BEGIN;
INSERT INTO `words` VALUES ('1', '1', 'book', '0'), ('2', '2', 'booking', '0'), ('3', '2', 'booking', '0'), ('4', '2', 'booking', '0');
COMMIT;

SET FOREIGN_KEY_CHECKS = 1;

SQL+データで質問を変更しました。

私がしようとしている:

 SELECT words with there count from segments.count based upon there substr_id. 

誰かが私がこれを成し遂げるのを手伝ってくれるでしょうか?SQLが得意ではないので、赤いドキュメントといくつかのチュートリアルがありますが、1つのクエリで上記のすべてを実行する方法がわかりません。

4

3 に答える 3

2
 SELECT word, count
   FROM words NATURAL JOIN segments;

トリックを行う必要があります。もう少し調査することをお勧めします。http://en.wikipedia.org/wiki/Join_(SQL )

于 2012-06-21T18:41:42.467 に答える
1

クエリの結果をカウントするには、集計関数 COUNT() が必要です。

これに役立つリンクは多数ありますが、http://dev.mysql.com/doc/refman/5.1/en/counting-rows.htmlのようなものが役に立ちます。

于 2012-06-21T18:40:47.443 に答える
1

おそらく、何らかの結合条件が必要になるでしょう。そうしないと、デカルト積が得られますが、これで始めることができます。

SELECT COUNT(*)
FROM words
JOIN count --add an ON condition here unless you want a cartesian product

あなたが何をしようとしているのかは少し不明確ですが、これがあなたが探しているものではない場合は、遠慮なく明確にしてください.

幸運を!

于 2012-06-21T18:47:45.457 に答える