交叉表查询

时间:2011-08-10 03:29:27

标签: php mysql

我正在运行查询并检索用户帖子。表Posts有一个列,其中包含提交帖子的User的名称,另一个名为User的表有一个用户名和头像列表。

我需要在表格Users的每个帖子中查找“用户”,如果此表中有匹配回显列“Avatar”。

$result = mysql_query("SELECT * FROM Posts WHERE MATCH (City) AGAINST ('$city2') ORDER by `Comments` DESC LIMIT $limit_posts OFFSET $first_post");

while($row = mysql_fetch_array( $result )) { ?>
<div class='item'>
    <a href="?city=<?php echo $row['City']; ?>&post=<?php echo $row['PID']; ?>"><?php echo $row['Text']; ?></a> 
<? } 

2 个答案:

答案 0 :(得分:1)

$result = mysql_query("
SELECT
  Posts.*,
  Users.Avatar
FROM
  Posts
INNER JOIN
  Users
ON
  Users.ID = Posts.User
WHERE
  MATCH (Posts.City) AGAINST ('$city2') 
ORDER BY
  Posts.`Comments` DESC 
LIMIT 
  $limit_posts 
OFFSET 
  $first_post
");

while($row = mysql_fetch_array( $result )) { ?>
<div class='item'>
    <a href="?city=<?php echo $row['City']; ?>&post=<?php echo $row['PID']; ?>"><?php echo $row['Text']; ?></a> 

<?php echo $row['Avatar']; ?>
<? } 

答案 1 :(得分:0)

这只是一个基本的表连接权吗?

SELECT USERS.AVATAR, POSTS.TEXT
FROM USERS INNER JOIN POSTS ON USERS.ID = POSTS.USER

将返回用户头像列表并为每个用户发布文本