Những gì bạn muốn có thể không được thực hiện bằng SQL thuần túy.
Về cơ bản, bạn muốn SQL có thể chọn một cách có điều kiện một cột có thể không tồn tại. Không thể phân tích cú pháp SQL như vậy - tất cả các cột được chọn phải tồn tại hoặc truy vấn sẽ không hợp lệ.
Tuy nhiên, bạn có thể đạt được điều này là mã ứng dụng bằng cách truy vấn các bảng danh mục để kiểm tra lược đồ của cơ sở dữ liệu mà bạn đã kết nối và tự động xây dựng SQL cho bạn dựa trên đó.
Truy vấn này có thể giúp mã ứng dụng của bạn tạo truy vấn:
select COLUMN_NAME
from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME = 'users'
and TABLE_SCHEMA = 'YOUR-DB-NAME';