PDA

View Full Version : MySQL không dùng được SubQuery???



Kijuto Riddle
26-10-2004, 23:29
SELECT Meal_name FROM Meal WHERE Meal_code = (SELECT Meal_code FROM Airline_meal);



kết quả:


Error Code : 1064
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT Meal_code FROM Airline_meal)' at line 1
(0 ms taken)


xem lại version như sau:


mySQL --version
mySQL Ver 12.22 Distrib 4.0.21, for Win95/Win98 (i32)


thử mọi cách không được, trong manual thì có SubQuery, đến lúc thực hành thì lại bị lỗi này, tức muốn lộn ruột lên, đang làm project, các cao thủ MySQL mong hãy chỉ bảo.

capricorn
27-10-2004, 11:32
chào Kijuto Riddle

MySQL version 4.0.x trở về trước không hỗ trợ subquery.
Nếu muốn sử dụng tính năng này, bạn hãy nâng cấp lên bản 4.1, tuy nhiên đây là bản beta.

freegianghu
27-10-2004, 12:51
kết quả:


xem lại version như sau:


thử mọi cách không được, trong manual thì có SubQuery, đến lúc thực hành thì lại bị lỗi này, tức muốn lộn ruột lên, đang làm project, các cao thủ MySQL mong hãy chỉ bảo.

Nó không được là subquery là gọi là nested query. Bạn xem MySQL có hỗ trợ Nested Query không? Hình như từ phiên bản 5 mới hỗ trợ :?
Còn câu lệnh của bạn giải quyết cách khác đi, dùng join xem, hay lắm đấy :)

Kijuto Riddle
29-10-2004, 13:20
Cám ơn các bạn đã giúp đỡ.
để tôi thử nâng cấp version lên xem.
To freegianghu:
join tôi có biết rồi, câu query trên chỉ là ví dụ cho đơn giản thôi, ý tôi là muốn giải quyết các câu không thể dùng join được, chỉ có thể dùng sub được thôi.

freegianghu
29-10-2004, 19:12
Cám ơn các bạn đã giúp đỡ.
để tôi thử nâng cấp version lên xem.
To freegianghu:
join tôi có biết rồi, câu query trên chỉ là ví dụ cho đơn giản thôi, ý tôi là muốn giải quyết các câu không thể dùng join được, chỉ có thể dùng sub được thôi.

Ấy chết, bạn đừng coi thường ông ẻm join thế, bạn thử ví dụ cái gì của bạn không dùng được join tôi xem nào, hơi bị khó đấy?
(theo cá nhân tôi, join chạy nhanh hơn query lồng nhiều)

Kijuto Riddle
01-11-2004, 13:40
join chạy tốt hơn sub là đúng.
tôi cũng không có coi thường join
nhưng mà các tài liệu dạy sql, nó đều nói, hầu hết các câu sub đều chuyển thành join.
hầu hết chứ không phải là tất cả, nhất định là có. tại tôi mới học nên không thể chỉ ra câu nào lầ không làm được. khi nào thấy, tôi sẽ cho bạn thấy.

cái MySQL 4.1 hay thật, mỗi tội, bản beta nên lỗi quá!

QuanN
17-11-2004, 13:52
MySQL 4.1 đã được certified là Production-Ready và có hỗ trợ subquery.

http://dev.mysql.com/doc/mysql/en/Nutshell_4.1_features.html