【发布时间】:2011-12-13 10:39:48
【问题描述】:
我正在尝试创建一个连接语句来解决我的问题,但我无法理解它。
我是join语句的新手,如果我的sql语句是废话,请多多包涵。
我有两张表,一张是用户就待售商品提出问题的问题表。
第二个是用户提出问题的项目表。
名为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 |
+--------------+--------------------+---------+-----------+--------------+----------+
名为my_item_comments 的表二由questioner_ref, item_ref, last_question_ref 组成
my_item_comments
===========
+---------------+---------+------------------+
|questioner_ref |item_ref |last_question_ref |
+---------------+---------+------------------+
我设置了表 2 来跟踪用户提出问题的商品,以便在其他人向卖家提问或卖家回答时通知他们。
所以我想创建一个问题记录集
一个)。有人回答了有关用户正在销售的商品的问题
乙)。卖家回复了用户提出的问题,
C)。第三个用户就该用户也提出过问题的项目提出了问题。
有点像 facebook 的评论系统,您可以在其中了解人们对您评论过的状态所做的 cmet。
所以我现在的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,但对于我的一生,我无法解决。
任何帮助都将不胜感激,即使这意味着用更多表或表中的新字段重组我的数据库。
提前致谢,巴里
【问题讨论】:
-
其格式易于阅读。