2012-10-18 32 views
11

Tôi có một bảng lớn Người dùng và một bảng nhỏ User_purchase trong google bigquery.Nếu không sử dụng ISNULL

Nếu tôi tham gia các lỗi hai với

SELECT User.id, User_purchase.amount FROM User 
    LEFT JOIN User_purchase on User.id = User_purchase.user_id, 

truy vấn trả về:

Query Failed. Error: Not Implemented: This table cannot be read

Nhưng nếu tôi tham gia hai với

SELECT User.id, ISNULL(INTEGER(User_purchase.amount), INTEGER(0)) FROM User 
    LEFT JOIN User_purchase on User.id = User_purchase.user_id, 

truy vấn hoạt động.

Không hoàn toàn hiểu tại sao trường hợp đầu tiên không hoạt động. Tôi giả định trong trường hợp đầu tiên tôi có thể nhận được tất cả người dùng với purchase_amount của họ mặc dù một số người dùng sẽ có NULL như purchase_amount của họ. Cảm ơn.

+0

Bạn có thể thêm một số thông tin khác không? Giống như loại máy chủ sql (Tôi đoán bạn đang sử dụng MS Sql Server, nhưng tôi không chắc chắn 100%). Ngoài ra tôi giả định User.id và User_purchase.user_id là cả hai ints, bạn có thể xác nhận? –

+0

Đó là google bigquery. Có, số nguyên. – greeness

+0

Cảm ơn Jordan, mong được kết quả điều tra của bạn. – greeness

Trả lời

4

Đây là lỗi liên quan đến tên trường lồng nhau trong câu trả lời truy vấn. Tôi đã sửa chữa lỗi này nhưng nó sẽ không được phát hành cho đến khi phát hành vào tuần tới. Cảm ơn vì đã mang nó đến sự chú ý của chúng tôi.

+0

Cảm ơn bạn đã phản hồi ngay lập tức! Bạn có thể vui lòng cập nhật khi sửa lỗi được phát hành không? cảm ơn. – greeness

+0

Hiện có sẵn. Hãy cho chúng tôi biết nếu bạn tiếp tục gặp sự cố. –

+0

Sự cố được giải quyết. Cảm ơn! – greeness

Các vấn đề liên quan