繁体   English   中英

将行名与sql中的一个单元格进行比较

[英]Compare row name with one cell in sql

我有两张桌子。 一个表具有id,日期,menu1,menu2,menu3,另一表具有id,id_date,数字,menu_number。

在第二张表中,有关于在特定日期订购菜单的用户的数据。 例如:ID:1 ID_日期:2014-09-09数字:4000 Menu_Number:Menu1。 并用此信息给出第一张表中的编号,日期和该日期的菜单。

SELECT DISTINCT 
    B.ID, B.ID_Date, B.Menu, S.date 
FROM 
    ordering B, menu_plan S 
WHERE 
    B.ID_Date = S.Date 
    AND B.Number = '4000859'

该SQL语句仅提供特定日期的菜单号。 但是,我希望从表1的特定日期开始菜单中的内容。它是如何工作的? 还是我应该用另一种方式来写第二张表而不是菜单号来显示整个菜单?

SELECT DISTINCT 
    B.ID, B.ID_Date, 
    Menu =
        CASE S.menu_number
            WHEN 'Menu1' THEN B.menu1
            WHEN 'Menu2' THEN B.menu2
            WHEN 'Menu3' THEN B.menu3
            ELSE 'Unknown'
        END,
    S.date
FROM 
    ordering B
    JOIN menu_plan S ON B.ID_Date = S.Date 
WHERE 
    B.Number = '4000859'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM