【发布时间】:2016-06-02 13:15:11
【问题描述】:
以下数据在数据库表中
Color MADE MODEL REG
----- ---- ----- ----
Red TOYOTA CAR EN-9082 *
Yellow TOYOTA CAR YR-4356 *
Red TOYOTA JEP AX-4566
Yellow TOYOTA SUV AX-4343
Yellow NISSAN CAR ER-0873
Yellow HONDA SUV AS-6453 * ^
Red HONDA SUV SD-9853 * ^
Blue HONDA SUV AS-9762 ^
当颜色“红色”和“黄色”传入时,我必须编写一个代码来提取由“*”指示的记录(没有聚合只是过滤它们)。
同样,如果我传递颜色“红色”、“黄色”和“蓝色”,我需要“^”指示的记录
换句话说,我需要所有传入颜色都可用于制造和型号组合的记录。
另一方面,我不能在 SQL 中使用颜色名称。它们被传递到我的程序中,我无法控制它们。
是否可以编写一个理想地使用纯 SQL 的 SQL。我需要针对多个数据库(例如 Oracle、SQL 服务、Informix)执行它
伊什
【问题讨论】:
-
您不能只使用 SQL,对所有 DBMS 都可用,然后说您不想要硬编码值。那三个不结婚。必须有某种方法来传递这些值,它可以在代码中(在 vkp 提供的 SQL 中注入参数)或某种存储过程 (MSSQL)。
标签: sql