使用左连接的MySQL查询?

时间:2011-09-08 00:37:50

标签: mysql sql

我有两张桌子: 项目:

| Item|
   A
   B
   C

userItems:

| UID |  Item
   1      A
   1      C

此循环显示表项目中的数据:

$data = mysql_query("SELECT * FROM `Items`ORDER by `Icons` ASC"); 

while($row = mysql_fetch_array( $data )) 
    {
    echo $row['Item'];
    echo "Unlock";
    }

基本上,如果UID = $ uid的用户有项目,我需要显示Unlocked而不是Unlock。

此查询获取用户项:

$data = mysql_query("SELECT * FROM `userItems` WHERE `UID` = '$uid'"); 

我认为解决方案是左连接,但我不知道该怎么做。我怎样才能使它发挥作用?

1 个答案:

答案 0 :(得分:1)

SELECT Items.*, useritems.UID FROM `Items` 
    left join useritems on Items.Item=useritems.Item 
    ORDER by `Icons` ASC

然后,当用户$ row [“items.UID”]等于$ uid时,只需使用PHP中的逻辑显示Unlocked