我有這第一個查詢。我將如何在單個查詢中加入這兩個查詢?
SELECT item.id, item.name, item.description,
item.tnURL, item.spec_id, item.item_type, item.sub_category
FROM item, fb_item_promo
WHERE fb_item_promo.item_id=item.id;
而第二個查詢。
SELECT item.id, item.name, item.description,
item.tnURL, item.spec_id, item.item_type, item.sub_category
FROM item
WHERE item.description LIKE '%package%';
我要第一個查詢結果加上第二查詢結果相結合。我怎麼能以更快的方式做到這一點?
@Fosco您的查詢似乎工作,但如果我想添加一個搜索功能的所有結果item.name?我試過這個,但它仍然獲得全部fb_item_promo.item_id結果。
新查詢:
SELECT item.id, item.name, item.description, item.tnURL,item.spec_id,
item.item_type, item.sub_category
FROM item
LEFT JOIN fb_item_promo
ON fb_item_promo.item_id = item.id
WHERE fb_item_promo.item_id IS NOT NULL
OR item.description LIKE '%package%'
AND item.name LIKE '%my item name%'
結果是它尋找合適的項目,但仍回報所有項目fb_item_promo.item_id是存在。我如何在結果上運行過濾器?
關於使用'UNION ALL'解決方案的觀點,你可以返回重複的記錄(這可以通過使用'UNION'來緩解)被採取。但是,您的解決方案存在更嚴重的問題:它排除了fb_item_promo中不存在的記錄。 – RedFilter 2011-05-25 19:42:49
@RedFilter啊很好的捕捉...更新。 – Fosco 2011-05-25 19:43:46
@Fosco這似乎工作。如果我想將item.name的搜索函數添加到聯合查詢的所有結果中,該怎麼辦?像「AND item.name LIKE'%任何項目名稱%'」我該怎麼做?謝謝! – tiltdown 2011-05-25 22:20:03