我是SQL新手,需要結合三個SQL查詢的幫助。SQL - 如何組合這三個SQL查詢?
查詢1
SELECT max(level) level FROM tablename WHERE id = 1
這樣做的結果是在本實施例3中,該值將在查詢中使用2
查詢2
SELECT max(run) run FROM tablename WHERE id = 1 AND level = 3;
的這個例子中的結果是1,這個值將在查詢3中使用。
查詢3
SELECT levelpassed FROM tablename WHERE id = 1 AND level = 3 AND run = 1;
下面是表的結構:
CREATE TABLE `tablename` (
`id` int(11) NOT NULL,
`date` datetime NOT NULL,
`level` int(11) NOT NULL,
`run` int(11) NOT NULL,
`cr` int(11) NOT NULL,
`fr` int(11) NOT NULL,
`dv` int(11) NOT NULL,
`levelpassed` tinyint(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
這裏是主鍵:
ALTER TABLE `tablename`
ADD PRIMARY KEY (`id`,`date`);
我需要知道的所有三個值來自查詢。最大水平,最大運行和水平通過。
謝謝你的幫助!
這三者的結合也不會比在單獨的方式執行它們更高效。實際上,在任何DBMS引擎中,我知道你不應該把它們合併起來,因爲它們有不同的「where」子句。 – evenro 2014-08-27 12:58:46
請描述它的需求(在用例類型的故事中),而不是某人可能能夠幫助你的需求。沒有它,很難(至少對我來說)試圖想象它的用例 – evenro 2014-08-27 13:03:25
id/level/run是否是唯一的,最後一個查詢是否總是返回一行? – 2014-08-27 13:08:08