我有这第一个查询。我将如何在单个查询中加入这两个查询?
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