2011-09-28 61 views
2

我:新秀MySQL的加入問題

  • 一個coupons表列名爲owner_idid
  • owners表列名爲idwebsite_url

我想只用coupons.id(這是在一個PHP變量提供$coupon_id

這是我最好的拍攝得到owners.website_url:?

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東陽每個店主都有很多優惠券

回答

1

看起來是正確的,但在那裏使用LEFT JOIN沒有意義,因爲你是過濾消除WHERE條款中的失敗連接。只需使用JOIN

您也不應該需要LIMIT子句,因爲所有優惠券都應該有唯一的ID(假設id是主鍵)並且每個優惠券只有一個所有者。

+0

嗨,謝謝。那是因爲我把它限制爲1嗎?限制1是否必要? –

+0

@Andypandy:這是沒有必要的,因爲1個優惠券總是屬於1,只有1個所有者 – zerkms

0
SELECT o.website_url 
     FROM coupons c 
INNER JOIN owners o ON o.id = c.owner_id 
    WHERE c.id='$coupon_id'