gpt4 book ai didi

php - WHERE .. IN 查询的困难

转载 作者:行者123 更新时间:2023-11-29 02:26:48 27 4
gpt4 key购买 nike

我目前正在开发一个在线游戏拍卖网站。但是,在创建统计信息时,我遇到了查询问题。

问题是我需要拥有我参与过的和我丢失的所有拍卖。但到目前为止,我只看到能够获得所有丢失的拍卖(不仅仅是我参加的拍卖)。

假设我有以下表格:

表拍卖的表结构

CREATE TABLE IF NOT EXISTS `Auction` (
`id` varchar(50) NOT NULL,
`preferedAuctionId` varchar(50) NOT NULL,
`winningTicketId` int(11) NOT NULL DEFAULT '-1',
`createdOn` datetime NOT NULL,
`startedOn` datetime NOT NULL,
`finishedOn` datetime NOT NULL,
`active` tinyint(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--

-- 表 AuctionBids

的表结构
CREATE TABLE IF NOT EXISTS `AuctionBids` (
`bidId` varchar(50) NOT NULL,
`accountId` varchar(50) NOT NULL,
`auctionId` varchar(50) NOT NULL,
`ticketId` int(50) NOT NULL,
`datetime` datetime NOT NULL,
PRIMARY KEY (`bidId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

以下是我尝试过的一些查询。

SELECT * 
FROM Auction au, AuctionBids ab
WHERE au.id = ab.auctionId AND au.winningTicketId = ab.ticketId AND
ab.accountId NOT LIKE '". $_accountId ."' AND
au.finishedOn NOT LIKE '0000-00-00 00:00:00' AND au.active = '0'

SELECT * 
FROM Auction
WHERE winningTicketId NOT IN
( SELECT ticketId
FROM AuctionBids
WHERE accountId = '". $_accountId ."')
AND finishedOn NOT LIKE '0000-00-00 00:00:00' AND active = '0'

如果您缺少任何重要信息,请询问我,我会为您提供。

您真诚的,拉西1


在你的本地主机上测试我做了一个测试转储:

http://pastebin.com/d412ESVa

预期结果:

accountId '{0D3FB1B2-1C0C-06EA-979A-15F5B5231E7C}' 的人赢得了他参与的所有拍卖,这意味着他返回的行数应该为 0。

accountId为“{65CC1576-C3C3-5AC1-8098-B8CF1347F481}”的人失去了他参与的所有拍卖,这意味着他返回的行应该是1。

最佳答案

也许是这样?

SELECT distinct a.* FROM Auction a JOIN AuctionBids ab ON a.id = ab.auctionId 
WHERE a.winningTicketId not in
(select ticketId from AuctionBids WHERE accountId = '". $_accountId ."'
and a.id = auctionId)
AND a.id in
(select auctionId from AuctionBids WHERE accountId = '". $_accountId ."')
AND a.active = '0'
AND finishedOn NOT LIKE '0000-00-00 00:00:00';

已编辑。在 SQLFiddle 中尝试

关于php - WHERE .. IN 查询的困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20323456/

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