gpt4 book ai didi

mysql - 从 WHERE 子句中选择所有行减去行

转载 作者:行者123 更新时间:2023-11-29 07:33:11 25 4
gpt4 key购买 nike

我需要如何修改查询,以便获得表中除查询中使用的一次之外的所有行作为结果?

SELECT * 
FROM cars
WHERE (makeModelDescription='Seat Arosa 2.0 Stella'
AND firstRegistration='EZ 03/2005'
AND mileage='101.000 km')
OR (makeModelDescription='Seat Arosa 3.0 Stella'
AND firstRegistration='EZ 03/2005'
AND mileage='101.000 km')

请注意,使用所有三个属性 makeModelDescription、firstRegistration 和 mileage 作为条件中的关键非常重要。

引用表:

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

--
-- Datenbank: `ref-table`
--

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `cars`
--

CREATE TABLE `cars` (
`makeModelDescription` varchar(150) COLLATE utf8_unicode_ci NOT NULL,
`firstRegistration` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
`mileage` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
`status` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
`createTime` int(11) NOT NULL,
`updateTime` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

--
-- Daten für Tabelle `cars`
--

INSERT INTO `cars` (`makeModelDescription`, `firstRegistration`, `mileage`, `status`, `createTime`, `updateTime`) VALUES
('BMW X5 4.4 i aus erster Hand', 'EZ 07/2000', '226.000 km', 'active', 1438870958, 1438870958),
('Corvette C5 Cabrio', 'EZ 03/2001', '96.000 km', 'active', 1438870958, 1438870958),
('Seat Arosa 2.0 Stella', 'EZ 03/2005', '101.000 km', 'active', 1436891529, 1436891529),
('Seat Arosa 2.0 Stella', 'EZ 03/2006', '101.000 km', 'active', 1436891529, 1436891529),
('Seat Arosa 3.0 Stella', 'EZ 03/2005', '101.000 km', 'active', 1437029730, 1437029730),
('Seat Arosa 4.0 Stella', 'EZ 03/2005', '101.000 km', 'active', 1437112074, 1437112074);

--
-- Indizes der exportierten Tabellen
--

--
-- Indizes für die Tabelle `cars`
--
ALTER TABLE `cars`
ADD PRIMARY KEY (`makeModelDescription`,`firstRegistration`,`mileage`);

以前自己获取查询是一件很容易的事,但实际上并不是那么简单。我还尝试了不同的建议解决方案,但现在没有一个提供预期的结果。

最佳答案

由于所有列都不能为空,因此您可以简单地使用 NOT 来获取那些不符合条件的记录:

SELECT * 
FROM cars
WHERE NOT
(
(makeModelDescription='Seat Arosa 2.0 Stella'
AND firstRegistration='EZ 03/2005'
AND mileage='101.000 km')
OR
(makeModelDescription='Seat Arosa 3.0 Stella'
AND firstRegistration='EZ 03/2005'
AND mileage='101.000 km')
);

关于mysql - 从 WHERE 子句中选择所有行减去行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31873585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com