簡體   English   中英

mysql-true時查詢並不總是顯示結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM