我终于把所有的疑问都写下来了(感谢所有帮助我的人)。
第一个:
SELECT
cards.card_id,
concat(cards.title, ' By Amy') AS TitleConcat,
cards.meta_description,
cards.description,
'' as Bob,
'' as Weight,
'' as UPC,
cards.seo_keywords,
concat('http://www.amyadele.com/attachments//cards/',cards.card_id,'/',cards.card_image) AS ImageURL,
card_import.artist,
concat('ARTIST - ', card_import.artist) AS Brand,
min(card_lookup_values.card_price) AS LowPrice,
replace(lower(concat( 'http://www.amyadele.com/', pcat.seoname,'/',cat.seoname, '/', cards.seoname, '.htm' )),' ','+') AS link,
concat(pcat.name,'>',cat.name) as Merchant
FROM
cards
join card_cheapest on cards.card_id = card_cheapest.card_id
left join card_import on card_import.card_id = cards.card_id
join card_lookup_values on card_lookup_values.card_id = cards.card_id
INNER JOIN card_categories cc ON cards.card_id = cc.card_id AND cards.card_live = 'y' AND cards.active = 'y' AND cc.active = 'Y'
INNER JOIN categories cat ON cat.category_id = cc.category_id AND cat.active = 'Y'
INNER JOIN categories pcat ON cat.parent_category_id = pcat.category_id
WHERE card_lookup_values.card_price > 0
GROUP BY
cards.card_id
ORDER BY
cards.card_id 和第二个:
SELECT cards.card_id, round(min(card_lookup_values.card_price), 2) AS 'price', min(cast(lookup_details.value as signed)) as 'quantity'
FROM cards
INNER JOIN card_lookup_values ON cards.card_id = card_lookup_values.card_id
INNER JOIN lookup_details ON card_lookup_values.lookup_detail_id = lookup_details.lookup_detail_id
WHERE card_lookup_values.lookup_id = 7
-- AND c.card_id = 'al007'
GROUP BY cards.card_id;我试过几次让它工作(我的最后一次尝试)
SELECT
cards.card_id,
concat(cards.title, ' By Amy') AS TitleConcat,
cards.meta_description,
cards.description,
'' as Bob,
'' as Weight,
'' as UPC,
cards.seo_keywords,
concat('http://www.amyadele.com/attachments//cards/',cards.card_id,'/',cards.card_image) AS ImageURL,
card_import.artist,
concat('ARTIST - ', card_import.artist) AS Brand,
min(card_lookup_values.card_price) AS LowPrice,
replace(lower(concat( 'http://www.amyadele.com/', pcat.seoname,'/',cat.seoname, '/', cards.seoname, '.htm' )),' ','+') AS link,
concat(pcat.name,'>',cat.name) as Merchant,
round(min(card_lookup_values.card_price), 2) AS 'price',
min(cast(lookup_details.value as signed)) as 'quantity'
FROM
cards
join card_cheapest on cards.card_id = card_cheapest.card_id
left join card_import on card_import.card_id = cards.card_id
join card_lookup_values on card_lookup_values.card_id = cards.card_id
INNER JOIN card_categories cc ON cards.card_id = cc.card_id AND cards.card_live = 'y' AND cards.active = 'y' AND cc.active = 'Y'
INNER JOIN categories cat ON cat.category_id = cc.category_id AND cat.active = 'Y'
INNER JOIN categories pcat ON cat.parent_category_id = pcat.category_id
INNER JOIN card_lookup_values ON cards.card_id = card_lookup_values.card_id
INNER JOIN lookup_details ON card_lookup_values.lookup_detail_id = lookup_details.lookup_detail_id
WHERE card_lookup_values.card_price > 0 and where card_lookup_values.lookup_id = 7
GROUP BY
cards.card_id
ORDER BY
cards.card_id 但是我一直收到一个错误:不是唯一的表/别名:'card_lookup_values'
有人知道我做错了什么吗?
发布于 2011-06-01 13:11:12
您将两次加入到card_lookup_values表中。必须为该表的每个引用指定一个唯一的别名来区分它们。我在下面的片段中使用了clv1和clv2来说明。
...
join card_lookup_values clv1 on clv1.card_id = cards.card_id
INNER JOIN card_categories cc ON cards.card_id = cc.card_id AND cards.card_live = 'y' AND cards.active = 'y' AND cc.active = 'Y'
INNER JOIN categories cat ON cat.category_id = cc.category_id AND cat.active = 'Y'
INNER JOIN categories pcat ON cat.parent_category_id = pcat.category_id
INNER JOIN card_lookup_values clv2 ON cards.card_id = clv2.card_id
...https://stackoverflow.com/questions/6201604
复制相似问题