Rookie Mysql присоединиться к вопросу - PullRequest
2 голосов
/ 29 сентября 2011

у меня есть:

  • a coupons таблица со столбцом с именами owner_id и id
  • и таблица owners со столбцом с именами id и website_url.

Я хотел бы получить owners.website_url, используя только coupons.id (который предоставляется в переменной php $coupon_id.

Вот мой лучший снимок:

SELECT owners.website_url
FROM owners o
LEFT JOIN coupons c
ON o.id = c.owner_id
WHERE c.id='$coupon_id'
LIMIT 1

Это правильно? Я поставил LIMIT 1, потому что на владельца приходится много купонов.

Ответы [ 2 ]

1 голос
/ 29 сентября 2011

Это выглядит правильно, но использовать LEFT JOIN здесь бессмысленно, так как вы отфильтровываете неудачные объединения в предложении WHERE. Просто используйте JOIN.

Вы также не должны нуждаться в предложении LIMIT, поскольку все купоны должны иметь уникальные идентификаторы (при условии, что id является первичным ключом), и у каждого купона есть только один владелец.

0 голосов
/ 29 сентября 2011
    SELECT o.website_url
      FROM coupons c
INNER JOIN owners o ON o.id = c.owner_id
     WHERE c.id='$coupon_id'
...