[thelist] an elegant correlated sub-query that doesn't want to cooperate
Sarah Adams
sarahwbs at gmail.com
Tue Apr 14 15:06:34 CDT 2009
I'm working on this query, which should be a thing of beauty, but
instead is just being a PITA. I'm hoping some SQL guru
*cough*Rudy*cough* will know just where I'm going wrong here. If I
remove the correlated sub-query part, it works fine. As it is, it is
only returning one set/option pair (ArchiveOptions) regardless. Almost
as if i.OptionID is being treated as a string, instead of a list of numbers.
INSERT INTO OrderItems (OrderID, ProductID, Quantity, ArchiveName,
ArchivePrice, ArchiveOptions)
SELECT 99999 as OrderID, i.ProductID, i.Quantity,
p.NameDE as ArchiveName, p.Price as ArchivePrice,
(SELECT GROUP_CONCAT(CONCAT(s.NameDE, ': ', o.NameDE))
FROM OptionSets s
INNER JOIN Options o
ON o.SetID = s.SetID
WHERE o.OptionID IN (i.OptionID)
) as ArchiveOptions
FROM UserCartItems i
INNER JOIN Products p
ON i.ProductID = p.ProductID
Let me know if you need to see some schema info! Just trying to keep my
first post brief.
(Please note that I can't change the database design, it's been in use
on this site for years. Otherwise I would normalize it properly and
ArchiveOptions wouldn't be a single field.)
--
sarah adams
my son: http://clarkeadams.com
twitter: http://twitter.com/sarahwbs
portfolio: http://sarah.designshift.com
More information about the thelist
mailing list