[英]mysql - query does not always display result when true
我正在mysql中運行以下查詢,並且取決於添加的值將取決於我在運行查詢時系統是否顯示一行。 每行都是一個值,這應該不是問題,她在數據庫中的所有值都應顯示一行,但事實並非如此,這是我的查詢。
如果我進入高爾夫,將顯示正確的行,但不顯示足球。
CREATE TABLE `sports` (
`sport_ID` int(11) NOT NULL,
`Name` varchar(20) NOT NULL,
`Tag` varchar(100) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1;
INSERT INTO `sports` (`sport_ID`, `Name`, `Tag`) VALUES
(1, 'Football', 'Rugby'),
(2, 'Rugby', 'Basketball'),
(3, 'Basketball', 'Golf'),
(4, 'Golf', 'Football')
SELECT *
FROM sports b
join sports a
on a.Tag = b.Name
where b.sport_ID > a.sport_ID and a.Tag = 'Football'
LIMIT 1
將>
替換為<>
:
SELECT *
FROM sports b
left join sports a
on a.Tag = b.Name
where b.sport_ID <> a.sport_ID and a.Tag = 'golf'
LIMIT 1
現在無論是golf
還是football
它都會返回一行。
但
我懷疑您的問題可能比這更復雜,也許樣本太小。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.