【发布时间】:2014-02-27 09:04:56
【问题描述】:
我的表结构是:
表1:
id | title | category | body
--------+-------------+----------------+---------------
1 | blah blah | 2 | blah blah blah
2 | blah blah | 3 | blah blah blah
3 | blah blah | 2 | blah blah blah
4 | blah blah | 1 | blah blah blah
表2:
id | cid | type | link
--------+----------+-----------+--------------------
1 | 1 | c1 | http://........
1 | 2 | c1 | http://........
1 | 3 | c1 | http://........
1 | 4 | c1 | http://........
1 | 2 | c2 | http://........
1 | 3 | c2 | http://........
1 | 1 | c2 | http://........
现在我使用此代码在 3 个单独的查询中从该表中进行选择:
$query = mysql_select("SELECT * FROM table1");
while ($result = mysql_fetch_array($query)) {
$c1 = mysql_fetch_array(mysql_query("SELECT link FROM table2 WHERE cid=".$result['id']." AND type = 'c1' ORDER BY id DESC LIMIT 1"));
$c2 = mysql_fetch_array(mysql_query("SELECT link FROM table2 WHERE cid=".$result['category']." AND type = 'c2' ORDER BY id DESC LIMIT 1"));
....
}
是否可以在一个 mysql 查询中编写这些查询?
【问题讨论】:
-
第二次查询:
WHERE cid=".$result['id']。第三个查询:WHERE cid=".$result['category']。你确定吗? -
是的,这是我的问题,我在一张表中有两种类型的记录