Я пытаюсь объединить две таблицы, чтобы подсчитывать данные из строки в одном из них.Sql join and count rows
pin.id
и repin.from_pin_id
являются основными в двух разных таблицах.
Я пытаюсь подсчитать количество строк в переменной repin.from_pin_id
, где board_id
равно определенной переменной ($ boardDetails-> id). board_id
находится в pins
, поэтому я пытаюсь присоединиться к этому столу repin
. Это единственный способ извлечь конкретный идентификатор платы.
<?php
$result = mysql_query("SELECT repin.from_pin_id, pins.id COUNT(from_pin_id) FROM repin WHERE from_pin_id = pins.id LEFT JOIN pins ON repin.from_pin_id = pins.id");
$countit = mysql_result($result, 0);
?>
Не повезло. Надеюсь, это натолкнулось на него, его трудно объяснить.
EDIT:
Вот решение, я изо всех сил, потому что я был ошибочно использует неправильный поле. Поле from_pin_id
должно было быть owner_user_id
.
Я взял некоторые предложения и получил его на работу. Спасибо, парни.
<?php
$result = mysql_query("SELECT COUNT(owner_user_id)
FROM repin
INNER JOIN pins ON pins.id = repin.from_pin_id
WHERE owner_user_id='$boardDetails->user_id'
AND pins.board_id='$boardDetails->id'");
$countit = mysql_result($result, 0);
?>
Как не повезло? Выводит ли заявление неправильные результаты или вы получаете сообщение об ошибке, и если да, то какое сообщение об ошибке? – shf301
Сообщение: mysql_result() ожидает, что параметр 1 будет ресурсом, имеет значение boolean –
Я только что посмотрел руководство для [mysql_query] (http://uk3.html/manual/en/function.mysql-query .php), в котором говорится: «Для SELECT, SHOW, DESCRIBE, EXPLAIN и других операторов, возвращающих набор результатов, mysql_query() возвращает ресурс с успехом или FALSE при ошибке», и я предполагаю, что с вашим предложением select что-то не так. Вы пытались запустить его в программе запросов к базе данных? Кажется, я вижу пропущенную запятую в списке столбцов. – nurdglaw