1
我想在三個表中使用聯接查詢我發現在另一個帖子(帖子#5 here)。當我嘗試,我在phpMyAdmin表之一的SQL選項卡來使用它,它給了我一個錯誤:加入三張桌子?錯誤在phpMyAdmin
#1066 - Not unique table/alias: 'm'
我試圖用精確的查詢是:
select r.*,m.SkuAbbr, v.VoucherNbr from arrc_RedeemActivity r, arrc_Merchant m, arrc_Voucher v
LEFT OUTER JOIN arrc_Merchant m ON (r.MerchantID = m.MerchantID)
LEFT OUTER JOIN arrc_Voucher v ON (r.VoucherID = v.VoucherID)
我我不完全肯定它會做我需要它做的事情,或者我正在使用正確的連接類型(我對SQL的掌握在這一點上是相當有限的),但我希望至少能看到它產生了什麼。 (我試圖做的,如果有人關心協助,就是從arrc_RedeemActivity獲得所有列,再加上arrc_Merchant中的商家ID匹配這兩個表中的SkuAbbr,再加上來自arrc_Voucher的VoucherNbr,其中VoucherID匹配那兩個。表)
編輯補充表樣品
Table arrc_RedeemActivity
RedeemID | VoucherID | MerchantID | RedeemAmt
----------------------------------------------
1 | 2 | 3 | 25
2 | 6 | 5 | 50
Table arrc_Merchant
MerchantID | SkuAbbr
---------------------
3 | abc
5 | def
Table arrc_Voucher
VoucherID | VoucherNbr
-----------------------
2 | 12345
6 | 23456
那麼理想,我想回去是:
RedeemID | VoucherID | MerchantID | RedeemAmt | SkuAbbr | VoucherNbr
-----------------------------------------------------------------------
1 | 2 | 3 | 25 | abc | 12345
2 | 2 | 5 | 50 | def | 23456
感謝您的更新。我想查看arrc_RedeemActivity中的所有行,但是我想查看arrec_Voucher表中具有匹配VoucherID的行的VoucherNbr值。現在使用左外連接,即使絕大多數的行在基於VoucherID的arrc_Voucher表中有相應的記錄,它仍會顯示NULL。我只是嘗試了簡單的左連接(跳過外層),看起來像返回我需要的內容。 – EmmyS 2010-09-08 22:04:44
@EmmyS:在處理JOIN時,「OUTER」關鍵字是可選的,與「INNER」相同,所以我傾向於忽略它們。 – 2010-09-08 22:08:58
從不想;評論刪除。 – EmmyS 2010-09-08 22:30:19