Nhận một giá trị cố định trên một lựa chọn


13

Tôi cần thực hiện một SELECTtruy vấn trong đó tôi nhận được giá trị của trường "tiền". Trường không thực sự tồn tại trong cơ sở dữ liệu. Tôi chỉ cần truy vấn để trả về trường này với một giá trị cố định; trong trường hợp này một giá trị bằng USD.

Làm thế nào để tôi trả về một giá trị không đổi trong một SELECTtuyên bố?


Câu trả lời:


21

Nếu giá trị luôn luôn giống nhau, bạn có thể làm một cái gì đó như thế này:

SELECT 'USD' AS `MONEY`, a.*
  FROM INFORMATION_SCHEMA.SCHEMATA AS a

Chỉ cần thay thế một. * Bằng các cột bạn muốn trả về và Information_SCHema.SCHEMATA bằng lược đồ và (các) bảng bạn muốn truy vấn.

Tôi hy vọng điều này hữu ích cho bạn.


Cảm ơn rất nhiều. Hoạt động như một lá bùa. Chỉ tò mò thôi. Cái cuối cùng 'NHƯ MỘT' (sau 'TỪ THÔNG TIN_SCHema.SCHEMATA') để làm gì?
fedejp

Không có vấn đề gì cả. AS chỉ định một bí danh cho bảng, về cơ bản nó là một tên ngắn mà bạn có thể tham chiếu bảng theo.
Mr.Brownstone

Ôi tuyệt. Tôi không biết rằng bạn có thể sử dụng bí danh cho các bảng. Cảm ơn rất nhiều!
fedejp

0

@fedejp bạn không phải chèn 'AS'. Bạn chỉ có thể viết 'THÔNG TIN_SCHema.SCHEMATA a' vì 'AS' được hiểu.

Và nếu chỉ có một bảng trong truy vấn (không tham gia) thì bạn không cần sử dụng bí danh và không có trường nào được chỉ định cần 'a.' ở phía trước tên trường, vì không có sự nhầm lẫn nào về việc tất cả các trường đến từ bảng nào.

Vì vậy, bạn có thể chỉ cần viết:

SELECT 'USD' AS `MONEY`, * FROM INFORMATION_SCHEMA.SCHEMATA;

Tuy nhiên, việc đặt bí danh ngay cả một bảng sẽ cho bạn tùy chọn chỉ cần nhập 'a.' trong danh sách chọn (trong trường hợp bí danh 'a') và xem tất cả các cột của bảng trong danh sách thả xuống. Tôi nghĩ thật an toàn khi nói rằng hầu hết mọi nhà phát triển SQL có kinh nghiệm làm việc sẽ luôn đặt bí danh cho các bảng của họ - ngay cả khi chỉ có một bảng được chọn. Nơi duy nhất tôi không sử dụng bí danh là khi cung cấp cho cột một giá trị kết quả truy vấn con. Sau đó, tôi sẽ đặt bí danh cho bảng trong phần chọn chính, nhưng không đặt bí danh cho bảng trong truy vấn phụ, để bạn có thể nhanh chóng phân biệt giữa các trường của truy vấn phụ và các trường của truy vấn chính.
Mashchax
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.