我必须在其中显示包含“传感器”一词的所有产品。我不能用LIKE。我试过使用包含,我得到一个无效的关系运算符错误。我已经尝试了我能想到的一切,但没有任何工作。我正在使用SQL Developer 4。
代码:
SELECT product_name, name
FROM a_product p JOIN a_item i
ON p.product_id=i.product_id
JOIN a_sales_order so ON i.order_id=so.order_id
JOIN a_customer c ON so.customer_id=c.customer_id
输出:
PRODUCT_NAME NAME
------------------------------ ---------------------------------------------
Aft Transducer Just Electronics
75 Gauge Wire Line Timelines
Aft Transducer Vollyrite
Nts Transducer Every Mountain
Snyder Lock Switch Shape Up
Nts Transducer Shape Up
Sft Transducer 55 Vollyrite
75 Gauge Wire Line Shape Up
我也像我提到的那样尝试使用contains,但它给了我错误。这是我用过的:
WHERE contains(product_name, 'Transducer')
我在加入声明后添加了。
所需的输出如下所示:
PRODUCT_NAME NAME
------------------------------ ---------------------------------------------
Aft Transducer Just Electronics
Aft Transducer Vollyrite
Nts Transducer Every Mountain
Nts Transducer Shape Up
Sft Transducer 55 Vollyrite
答案 0 :(得分:1)
如果你不能使用LIKE,因为这对学校来说是一个问题,另一种选择是REGEXP_LIKE:
SELECT product_name, name
FROM a_product p
JOIN a_item i
ON p.product_id = i.product_id
JOIN a_sales_order so
ON i.order_id = so.order_id
JOIN a_customer c
ON so.customer_id = c.customer_id
where regexp_like(product_name, 'Transducer')
答案 1 :(得分:0)
https://dev.mysql.com/doc/refman/5.1/en/regexp.html
"SELECT * FROM `foo` WHERE `name` REGEXP *Transducer*
或类似的东西?