该查询需要与“修正”栏的最高值出各组“sheet_ID”列的返回所有行。它工作正常,当我不做OR语句,但我需要能够使用它们。输入字段用于“Item Numbers”,or语句需要从可能的10列中提取该数字。MySQL查询返回的行数多于预期,我如何只返回每个组中一列的最高值?
这里是我的查询语句:
SELECT item_no, item_no1, item_no2, item_no3, item_no4, item_no5, item_no6,
item_no7, item_no8, item_no9, style, vendor_code, pgc, buyer, brand,
product_name, sheet_ID, revision, id
FROM product_sheets
WHERE item_no LIKE '$value' or item_no1 LIKE '$value' or
item_no2 LIKE '$value' or item_no3 LIKE '$value' or
item_no4 LIKE '$value' or item_no5 LIKE '$value' or
item_no6 LIKE '$value' or item_no7 LIKE '$value' or
item_no8 LIKE '$value' or item_no9 LIKE '$value' AND
revision IN (SELECT MAX(revision)
FROM product_sheets
GROUP BY sheet_ID
);
见正常化。任何时候你列举了列,警报响铃应该开始响起。任何其他建议坦率地说是荒谬的。 – Strawberry