我有以下 MySQL 语句可以在 MySQL 工作台中正确运行:
SELECT *, max(invoiceDate)
AS latestDate
FROM goodsreceiptrecords
WHERE (productKey, productIdentifier2)
IN ((23,'Master'),(28,'Local'),(18,'Local'),(19,'Local')) AND unitPrice > 0
GROUP BY productKey, productIdentifier1, vendorKey, storeType;
我尝试对 SQLITE 使用相同的语法,但出现以下错误消息:
sqlite3_prepare_v2 failure: row value misused
MySQL 中这个 SELECT 语句的正确语法是什么?基本上,我想要做的是选择与表中 2 列的值匹配的记录
该文件说:
对于行值 IN 运算符,左侧(以下称为“LHS”)可以是带括号的值列表或具有多列的子查询。但是右侧(以下称为“RHS”)必须是子查询表达式。
但是 VALUES 子句可以替换子查询,所以只需使用:
...
WHERE (productKey, productIdentifier2)
IN (VALUES(23,'Master'),(28,'Local'),(18,'Local'),(19,'Local'))
...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句