2010-06-08 89 views
0

我需要查詢幫助。sql問題select * from * where one = two order by

我想從表中選擇一些值,但值取決於其他單元格的值。我選擇後我需要對它們進行排序。可以使用ELECT column FROM table WHERE one=two ORDER BY ...?

感謝, 塞巴斯蒂安

+4

你試過了嗎? – 2010-06-08 17:29:12

+0

是的,我嘗試過,但我得到一個錯誤,以手動檢查SQL語法。 – sebastian 2010-06-08 17:31:46

+2

你能顯示你的查詢嗎?那麼可能是別的什麼是錯的。 – 2010-06-08 17:33:00

回答

3

當然可以,只要你正確拼寫SELECT

這裏是你可以複製並粘貼到你的MySQL查詢瀏覽器看到這種類型的動作查詢的例子:

CREATE TABLE table1 (
    id INT NOT NULL, 
    name1 VARCHAR(100) NOT NULL, 
    name2 VARCHAR(100) NOT NULL, 
    sortorder INT NOT NULL 
); 

INSERT INTO table1 (id, name1, name2, sortorder) VALUES 
(1, 'Foo', 'Foo', 4), 
(2, 'Boo', 'Unknown', 2), 
(3, 'Bar', 'Bar', 3), 
(4, 'Baz', 'Baz', 1); 

SELECT id 
FROM table1 
WHERE name1 = name2 
ORDER BY sortorder; 

結果:

4 
3 
1 
0

也許有些工作實例幫助:

這將返回來自我的一個數據庫的8100條記錄:

SELECT * FROM fax_logs WHERE費= service_charge

這將返回從我的數據超過2700條記錄:

SELECT * FROM fax_logs WHERE費= service_charge + 5

這將返回超過6900條記錄:

SELECT * FROM fax_logs WHERE fee = service_charge + copies

0

我可能會誤解你的問題,但我認爲你試圖比較第一列和第二列的值。在Mysql中,只能在ORDER BY子句中使用數字而不是名稱來引用列: SELECT * FROM table ORDER BY 1(按第一列排序)。您不能使用WHERE中的列索引。