Как считать между двумя таблицами MySQL, используя MySQL и PHP?

0

Например, как я могу подсчитать, сколько раз тег HTML отображается в столбце a_id, а затем отображать все теги, связанные с столбцом a_id в алфавитном порядке.

Вот таблицы MySQL

CREATE TABLE a_tags (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
tag_id INT UNSIGNED NOT NULL,
a_id INT UNSIGNED NOT NULL,
PRIMARY KEY (id)
);

CREATE TABLE tags (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
tag VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
);

Вот что в таблицах MySQL

TABLE tags
id      tag
1       HTML
2       HTML
3       CSS
4       PHP
5       HTML

TABLE a_tags
id      tag_id      a_id
1       1           3
2       2           2
3       3           3
4       4           3
5       5           3

И вот код.

$result = mysql_query("SELECT a_tags.*, tags.* 
                       FROM a_tags 
                       INNER JOIN tags ON tags.id = a_tags.tag_id 
                       WHERE a_tags.users_a_id=3
                       ORDER BY users_a_id DESC");
  • 0
    Есть вопрос?
  • 0
    да, читайте дальше, я надеялся, что все правильно объяснил.
Теги:

2 ответа

0

Я не совсем понимаю, что такое внешние ключи, но предполагая, что a_tags.a_id сопоставляется с тегами. Затем попробуйте это.

SELECT tags.tag,COUNT(a_tags.a_id) FROM a_tags
JOIN tags ON a_tags.a_id = tags.id
GROUP BY a_tags.a_id
0

Woudln't

SELECT * FROM `a_tags` WHERE a_id = (SELECT `id` FROM `tags` WHERE `tag` = 'HTML')

работа?

Изменить: Возможно, это не то, что вы хотите. Если бы вы могли уточнить свой вопрос, это было бы полезно.

  • 0
    Мне нужны все теги, связанные с a_id не только теги HTML.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню