Tôi đang cố gắng tìm ra cách kiểm tra hai thứ từ một bảng mà không thực hiện hai cuộc gọi tới mysql.
我有一个 Thành viên
bề mặt. Tôi muốn kiểm traID thành viên
liệu một giá trị có tồn tại trong cột hay không vàSố điện thoại
Liệu một giá trị có tồn tại trong cột hay không. ID thành viên
Và Số điện thoại
Tất cả đều được lập chỉ mục.
Nhưng có điều gì đó không đúng với cú pháp tôi đang thử. Ví dụ, mỗi
CHỌN ĐẾM(1) NHƯ Tồn tại TỪ Thành viên Ở ĐÂU MemberID = '999999999999' GIỚI HẠN 1
Và
CHỌN ĐẾM (1) NHƯ Điện thoạiTồn tại TỪ Thành viên Ở ĐÂU Số Điện thoại = '5555555555' GIỚI HẠN 1
có hiệu quả. Tại sao chúng không thể được kết hợp theo cách nào đó như
CHỌN (COUNT(1) NHƯ Tồn tại TỪ Thành viên WHERE MemberID = '999999999999' GIỚI HẠN 1), (COUNT(1) NHƯ Số điện thoạiTồn tại TỪ Thành viên WHERE PhoneNumber = '5555555555' LIMIT 1)
?
Hoặc, bởi vì tôi chỉ quan tâm liệu giá trị có xảy ra 0 lần hay không xảy ra lần nào, chẳng hạn như
CHỌN Tồn tại (CHỌN 1 TỪ Thành viên WHERE MemberID = '999999999999')
?
Nhưng thật không may, cú pháp có vấn đề ngay cả đối với một trong các truy vấn của tôi.
Bất kỳ đề xuất nào về cách đạt được điều này?
bạn muốn có một điều kiện TỔNG
SQLFIDDLE
SELECT
TỔNG (TRƯỜNG HỢP
KHI Số điện thoại = '5555555555' THÌ 1
KHÁC 0
END)Điện thoạiTồn tại,
TỔNG (TRƯỜNG HỢP
KHI MemberID = '999999999999' THÌ 1
KHÁC 0
END) IDETồn tại
TỪ thành viên
Tôi là một lập trình viên xuất sắc, rất giỏi!