1

我有一个产品列表 A,随着时间的推移,我可以在其中获得最受欢迎的产品。我还有一个产品清单 B。这个列表每天都会改变。

我要做的是显示列表B的所有产品,并与列表A的热门产品一起订购。例如:

清单 A 将包含:

banana
apple
banana
orange
apple
banana

清单 B 将包含:

potato
rice
banana
bread
orange

现在输出必须是:

banana
orange
potato
rice
bread

如何使用单个 SQL 命令执行此操作?谢谢

4

1 回答 1

2
    SELECT B.Col1, CNT FROM LISTB B
    LEFT OUTER JOIN 
    (SELECT Col1, COUNT(*) CNT 
     FROM LISTA A GROUP BY Col1) A1 ON b.col1 = A1.col1
    ORDER BY CNT DESC

检查这个 - http://sqlfiddle.com/#!3/34f5f/1

于 2012-08-14T17:27:39.843 回答