2012-07-19 47 views
6

Tôi có một truy vấn, tôi phải sắp xếp kết quả từ cơ sở dữ liệu DB2. Truy vấn sẽ chọn các cột empname,salary,status. Nhưng tôi phải sắp xếp kết quả theo thứ tự bằng empno
Nhưng truy vấn không hoạt động .. Đây là truy vấn.kết quả truy vấn sắp xếp mà không chọn cột đó nhưng sắp xếp theo cột đó?

select empname, salary, status from emp where salary>5000 order by empno 

Bạn có thể cập nhật truy vấn để sắp xếp theo empno mà không sử dụng truy vấn để chọn cột?

+1

Hủy bỏ các dấu chấm và thử lại. – Adam

+1

Vui lòng đăng SQL tạo bảng. – kirbs

+0

Cảm ơn thời gian của bạn .. Nó đang hoạt động..Tôi đã chọn từ nhiều bảng nhưng empno không rõ ràng .. Cập nhật .. đang hoạt động .. –

Trả lời

4

Cú pháp của bạn có vẻ đúng với tôi ngoại trừ dấu chấm (.) Ở cuối. Sau khi loại bỏ dấu chấm nếu không hoạt động ...

Hãy thử một cái gì đó giống như

SELECT empname, salary, status 
    FROM (SELECT * 
      FROM emp 
     ORDER BY empno) 
WHERE salary > 5000 
+0

HI jaychapani, Truy vấn của bạn không hoạt động .. Bạn có thể cập nhật chính xác không? –

+0

Lỗi của nó là gì? – jaychapani

+2

Theo tài liệu của IBM "Cột được chỉ định trong mệnh đề ORDER BY không cần phải được bao gồm trong mệnh đề SELECT". – jaychapani

-1

thử này

select empname, salary, status from emp where salary>5000 order by empno asc 

chắc chắn rằng cột và tên bảng thực sự tồn tại.

có một cái nhìn tại địa chỉ: ORDER BY clause

Trân trọng

+0

Tại sao cùng một truy vấn được dán? –

+0

dấu chấm đã bị xóa và tôi đã thêm asc (ép buộc) hoặc sử dụng desc cho thứ tự giảm dần của dữ liệu của bạn. – BizApps

+0

Trong khi thực hiện tôi gỡ bỏ nó, Nhưng không sử dụng .. Không làm việc BizApps .. –

0

Tôi không chắc chắn, nhưng cách nhanh nhất trên DB là một cái gì đó như thế này:

SELECT empname, salary, status 
FROM (
    select empname, salary, status, empno 
    from emp 
    where salary > 5000 
    order by empno ASC 
) 
Các vấn đề liên quan