Helpex - Trao đổi & giúp đỡ Đăng nhập
2

Tôi gặp lỗi số nhận dạng không hợp lệ ORA-00904 'c'. Có gì sai với bí danh này?

select NO, count(JOINT_NO) as c
from JOINT
WHERE HOLDER = 'Y' AND JOINT.c > 1
GROUP BY NO;
2 hữu ích 0 bình luận 4.9k xem chia sẻ
3

Tôi nghĩ rằng bạn muốn tìm nạp những bản ghi có số lượng> 1. Vì vậy, bạn không thể sử dụng Indentifier Ctrong WHEREmệnh đề của cùng một truy vấn.

select NO, count(JOINT_NO) as c
from JOINT
WHERE HOLDER = 'Y'
GROUP BY NO
HAVING COUNT(JOINT_NO)>1;
3 hữu ích 0 bình luận chia sẻ
2

Không có cột nào ctrong bảng JOINT, dẫn đến thông báo lỗi bạn nhận được.

Thay đổi truy vấn của bạn như sau:

select NO, count(JOINT_NO) as c
from JOINT
WHERE HOLDER = 'Y'
GROUP BY NO
HAVING count(JOINT_NO) > 1;
2 hữu ích 0 bình luận chia sẻ
0

Bạn có thể sử dụng một lựa chọn con (truy vấn con) trong mệnh đề FROM:

 select T1.NO,T1.c
    from
    (
      select NO, count(JOINT_NO) as c
      from JOINT
      WHERE HOLDER = 'Y' 
      GROUP BY NO
    ) as T1
    where T1.c > 1

bạn cũng có thể sử dụng :

    select NO, count(JOINT_NO) as c
    from JOINT
    WHERE HOLDER = 'Y'
    GROUP BY NO
    HAVING COUNT(JOINT_NO)>1
0 hữu ích 1 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ sql oracle , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm

loading