Я пытаюсь создать оператор соединения, чтобы решить мою проблему, но не могу разобраться с этим.
Я новичок в операторах объединения, поэтому, пожалуйста, потерпите меня, если в моем SQL-выражении нет смысла.
У меня есть две таблицы, одна из них представляет собой таблицу вопросов, где пользователи задают вопросы о предметах для продажи.
Вторая - это таблица предметов, о которых пользователь задал вопрос.
Таблица 1 с именем questions
состоит из question_ref, questioner_user_ref, item_ref, seller_ref, question_text, timestamp
questions
===========
+--------------+--------------------+---------+-----------+--------------+----------+
| question_ref |questioner_user_ref |item_ref |seller_ref |question_text |timestamp |
+--------------+--------------------+---------+-----------+--------------+----------+
Таблица 2 с именем my_item_comments
состоит из questioner_ref, item_ref, last_question_ref
my_item_comments
===========
+---------------+---------+------------------+
|questioner_ref |item_ref |last_question_ref |
+---------------+---------+------------------+
Я настроил таблицу два, чтобы сохранитьотслеживать элементы, о которых пользователь задавал вопросы, чтобы их можно было узнать, когда кто-то другой задает продавцу вопрос или отвечает продавец.
Поэтому я хочу создать набор записей вопросов, которые а).Кто-то ответил на вопрос о товаре, который продает пользователь. Б).Продавец ответил на вопрос, заданный пользователем,
c).Третий пользователь задал вопрос об элементе, о котором пользователь также задал вопрос.
Похоже на систему комментирования в Facebook, где вам сообщают о комментариях, сделанных людьми в отношении статусов, которые вы прокомментировали.
Итак, мое текущее SQL-выражение выглядит следующим образом:
$user_ref= current logged in user
$sql=mysql_query("
SELECT * FROM questions
LEFT JOIN my_item_comments
ON questions.item_ref=my_item_comments.item_ref
WHERE questions.questioner_user_ref!='$user_ref'
AND (questions.seller_ref='$user_ref' OR questions.item_ref=my_item_comments.item_ref
ORDER BY timestamp DESC");
Результаты не работают, и я думаю, что это из-за OR questions.item_ref=my_item_comments.item_ref
, но из-за своей жизни я не могу с этим разобраться.
Любая помощь будет принята с благодарностью, даже если это будет означать реструктуризацию моей базы данных с большим количеством таблиц или новых полей в таблицах.
заранее спасибо, Барри