Выбор SQL на основе поля ссылок - PullRequest
0 голосов
/ 19 декабря 2008

Я чувствую себя идиотом, спрашивающим об этом ...

Table 1: users
id serial
person integer
username char(32)

Table 2:persons
id serial
name char(16)

Можно ли выполнить запрос, который возвращает поле имени в лицах, указав имя пользователя у пользователей?

users
1 | 1 | larry123

persons
1 | larry
2 | curly

SQL

select name from persons where users.person=persons.id and users.username='larry123';

с желаемым возвратом

larry

До сих пор я делал это с двумя проходами и думаю, что мне может понадобиться вложенный выбор с использованием объединения

1 | larry

1 Ответ

5 голосов
/ 19 декабря 2008

Это звучит , как будто вы спрашиваете, как сделать объединение в SQL:

SELECT
    name
  FROM
    users JOIN persons ON (users.person = persons.id)
  WHERE
    users.username = 'larry123';

это почти тот запрос, который вы написали. Все, что вам не хватало, это пункт о присоединении. Вы также можете сделать это присоединиться так:

SELECT name
FROM users, persons
WHERE
      users.person = persons.id
  AND users.username = 'larry123';

Я предлагаю найти хорошо написанное введение в SQL.

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