我正在尝试将代码设置为我的销售代表的控制面板。 通过我的控制面板,我可以根据客户购买的商品控制代表呼叫的客户。
即。如果我在销售代表01的控制面板中指定“汽车”,他只会打电话给在“汽车”类别中购买玩具的客户。我的“汽车”类别中的所有不同玩具都存储在名为“车辆”的单独文件中。
我的文件如下:
customer (File)
+--------+-----------+--------+
| name | phone | toy |
+--------+-----------+--------+
| Gail | 777-1234 | Truck |
| June | 777-1235 | Doll |
| Mary | 777-1236 | Racer |
| Bill | 777-1237 | Ball |
| Jon | 777-1238 | Jeep |
+--------+-----------+--------+
control_panel (File)
+----------+--------+
| user | desc |
+----------+--------+
| sales_01 | Cars |
+----------+--------|
vehicles (File)
+---------+
+ item |
+---------+
| Truck |
| Racer |
| Jeep |
+---------+
在尝试测试此代码时,我的代码部分工作正常。
select
c.name , c.phone
FROM
customer c
WHERE
c.toy IN (
SELECT
v.item
FROM
vehicles v
)
现在我正在尝试调整我的WHERE语句,这样只有当我在用户“sales_01”的控制面板屏幕中选择“汽车”时,购买汽车的客户才会在用户的“呼叫屏幕”上显示“sales_01”
这是我测试的一些代码的一个示例,但无法正常工作。
SELECT
c.name , c.phone
FROM
customer c , control_panel p
WHERE
(IF p.desc = "Cars"
THEN (c.toy
IN (SELECT
v.item
FROM
vehicles v)
)
END)
感谢任何帮助。 THX。
答案 0 :(得分:1)
首先,我建议您通过在category
表中添加字段vehicles
来重构您的架构。这样可以在control_panel
和customer
之间建立适当的关系。在这种情况下,您可以SELECT c.name, c.phone FROM customer c LEFT OUTER JOIN vehicles v ON c.toy = v.items WHERE v.category = 'Cars'
。我本来希望添加其他建议,但我觉得你想要一些现在可以工作的东西。另外,我现在没有太多时间闲暇。希望这会有所帮助。