условный запрос mysql - PullRequest
       6

условный запрос mysql

0 голосов
/ 19 октября 2010

у меня есть эта схема mysql:

comments:
    -----------------------------
    |id|pageid|userid|

members:
    -----------------------------
    |username|userid|

иногда идентификатор пользователя из комментариев является пустым, вызывать анонимный комментарий. как я могу получить имя пользователя от участников, если идентификатор пользователя из комментариев не пуст.

мне нужно получить что-то вроде этого:

---------------------------
|id|pageid|userid|username|
---------------------------

Edit. Я хочу попытаться быть более конкретным.

comments:
    ----------------------------------
    |id|pageid|userid|comment        |   
    ---------------------------------- 
    |1 |1     |1     | hi            |
    ---------------------------------- 
    |2 |1     |      | annon comment |

members:
    -----------------------------
    |username|userid            |
    -----------------------------
    |john    |1                 |

Вот пример данных, теперь мне нужно получить что-то вроде этого:

    -------------------------------------------
    |id|pageid|userid|comment        |username|  
    ------------------------------------------- 
    |1 |1     |1     | hi            |john    |
    ------------------------------------------- 
    |2 |1     |      | annon comment |        |

ps извините за мой плохой английский.

Ответы [ 2 ]

1 голос
/ 19 октября 2010
SELECT c.PageId,c.UserId, m.UserName FROM comments as c
LEFT OUTER JOIN members m ON c.userid = m.userid

LEFT JOIN возвращает поля, которые не совпадают в правой таблице.

1 голос
/ 19 октября 2010

Это должно работать:

SELECT c.PageId,c.UserId, m.UserName FROM Members as m
INNER JOIN Comments as c
ON m.UserId = c.UserId
...