MySQL запрос с левого Join? - PullRequest
       1

MySQL запрос с левого Join?

0 голосов
/ 08 сентября 2011

У меня есть две таблицы: Элементы:

| 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";
    }

В основном янужно отобразить Unlocked вместо Unlock, если у пользователя с UID = $ uid есть элемент.

Этот запрос получает элементы пользователя:

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

Я считаю, что решение - это левое соединение,но я не знаю как это сделать.Как я могу заставить это работать?

1 Ответ

1 голос
/ 08 сентября 2011
SELECT Items.*, useritems.UID FROM `Items` 
    left join useritems on Items.Item=useritems.Item 
    ORDER by `Icons` ASC

Тогда просто используйте логику в вашем PHP для отображения Unlocked, когда пользователь $ row ["items.UID"] равен $ uid

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...