我有一个餐厅的菜单,其中的食物分为不同的类别,即:早餐(这里的食物)沙拉(这里的食物)冷饮(这里的饮料)热饮(这里的饮料)等...我已经为菜单创建了一个表,我想在早餐,午餐,晚餐,沙漠,饮料(热的和冷的),酒精饮料,吸烟(水烟,烟斗,香烟等)下列出食物。SQL没有功能来满足我的需要,所以...谁有创造性的想法!
dojqjjoe1#
当然,这可以通过将类别标题添加到表中,并通过索引跳过包含标题的行的索引来实现,但如果餐厅编辑菜单一次,所有内容都将被打乱。这听起来像是您在考虑一个SQL表,它就像是一个具有不同类型的行(如标题行和数据行)的Word表。SQL表的行应该都是相同的。如果菜单表类似于| 标识符|姓名|标价|| - -|- -|- -|| 一个|煎蛋卷|八个|| 2个|三明治|六个|| 三个|每日汤|八个|对这些进行分类的最简单的方法是为该类别添加一个新列:| 标识符|姓名|标价|范畴|| - -|- -|- -|- -|| 一个|煎蛋卷|八个|早餐|| 2个|三明治|六个|早餐|| 三个|每日汤|八个|午餐时间|(尽管在真实的的数据库设计中,类别可能是Categories表的外键)然后,可以使用WHERE category = ...子句只显示一些条目,或者执行SELECT DISTINCT category FROM menu ORDER BY category以按字母顺序获取所有类别。
WHERE category = ...
SELECT DISTINCT category FROM menu ORDER BY category
1条答案
按热度按时间dojqjjoe1#
当然,这可以通过将类别标题添加到表中,并通过索引跳过包含标题的行的索引来实现,但如果餐厅编辑菜单一次,所有内容都将被打乱。
这听起来像是您在考虑一个SQL表,它就像是一个具有不同类型的行(如标题行和数据行)的Word表。SQL表的行应该都是相同的。
如果菜单表类似于
| 标识符|姓名|标价|
| - -|- -|- -|
| 一个|煎蛋卷|八个|
| 2个|三明治|六个|
| 三个|每日汤|八个|
对这些进行分类的最简单的方法是为该类别添加一个新列:
| 标识符|姓名|标价|范畴|
| - -|- -|- -|- -|
| 一个|煎蛋卷|八个|早餐|
| 2个|三明治|六个|早餐|
| 三个|每日汤|八个|午餐时间|
(尽管在真实的的数据库设计中,类别可能是Categories表的外键)
然后,可以使用
WHERE category = ...
子句只显示一些条目,或者执行SELECT DISTINCT category FROM menu ORDER BY category
以按字母顺序获取所有类别。