gpt4 book ai didi

mysql - 从 'games' 的列表中获取不同的行

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

我正在尝试按日期显示一个游戏列表,以便每个游戏都有一个条目。该表由每个游戏的两个条目组成,示例数据说明了布局。只需过滤位置中的“A”,我就可以轻松过滤主场与客场。我的问题是只有在中立站点的位置为“N”时才能获得其中一个团队。创建 SQL 和版本信息如下。

查询的期望结果是:

('2011-08-01', 'Mustangs', 'Indians', 'A'),
('2011-08-14', 'Bulldogs', 'Indians', 'N'),
('2011-08-22', 'Braves', 'Bulldogs', 'A')

当 location=N 时,我曾尝试进行子选择以仅获取 Team2,但它不在 Team1 列表中,但我无法使其成功运行。出于此查询的目的,没有其他可用字段使“游戏”唯一,并且无法更改表的结构。

感谢任何帮助。

-- Server version: 5.1.56
-- PHP Version: 5.2.17
-- Table structure for table `testTbl`
CREATE TABLE IF NOT EXISTS `testTbl` (
`gameDate` date NOT NULL,
`Team1` varchar(20) NOT NULL,
`Team2` varchar(20) NOT NULL,
`Location` varchar(5) NOT NULL,
KEY `gameDate` (`gameDate`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
-- Dumping data for table `testTbl`
INSERT INTO `testTbl` (`gameDate`, `Team1`, `Team2`, `Location`) VALUES
('2011-08-22', 'Bulldogs', 'Braves', 'H'),
('2011-08-22', 'Braves', 'Bulldogs', 'A'),
('2011-08-01', 'Indians', 'Mustangs', 'H'),
('2011-08-01', 'Mustangs', 'Indians', 'A'),
('2011-08-14', 'Bulldogs', 'Indians', 'N'),
('2011-08-14', 'Indians', 'Bulldogs', 'N');

最佳答案

SELECT * FROM testTbl t
WHERE location = 'A' OR
(LOCATION = 'N' AND team1 <= team2)

对于每个记录对,这将仅显示团队 1(按字母顺序)小于团队 2 的记录。

因此 Bulldogs-Indians 将被显示,但 Indians-Bulldogs 不会显示。

关于mysql - 从 'games' 的列表中获取不同的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7162750/

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