Xin giúp đỡ về câu lệnh select (5 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

dotritiep

Thành viên mới
Tham gia
11/7/09
Bài viết
12
Được thích
0
Mình đang làm đồ án quản lý học tập, có nhiều cái không rõ lắm mong các bác giúp mình chút nhé
Mình muốn select ký tự đầu tiên trong một trường thì dùng cái gì
ví dụ như: MAHOCSINH là 12HS1
Bây giờ chỉ muốn lấy mỗi số 12 thì phải làm như thế nào?
 
Select Left(MAHOCSINH, 2)
 
Lần chỉnh sửa cuối:
Mình đang làm đồ án quản lý học tập, có nhiều cái không rõ lắm mong các bác giúp mình chút nhé
Mình muốn select ký tự đầu tiên trong một trường thì dùng cái gì
ví dụ như: MAHOCSINH là 12HS1
Bây giờ chỉ muốn lấy mỗi số 12 thì phải làm như thế nào?

...Left(MAHOCSINH,2) Like "12"
 
Theo mình là thế này cơ:

SELECT..........FROM..........WHERE mahs like "12*"

Hoặc như các bạn

SELECT..........FROM..........WHERE left(mahs,2)="12"
 
ví dụ như: MAHOCSINH là 12HS1
Bây giờ chỉ muốn lấy mỗi số 12 thì phải làm như thế nào?
Theo mình hiểu: chỉ muốn lấy mỗi số 12, thì lấy mỗi số 12. Không phải lấy hết mã 12HS1 rồi lọc chỉ lấy Mã HS có số đầu là 12.
Chỉ lấy mỗi số 12 là Select Left(MAHOCSINH, 2)
 
Đúng là chỉ đoán thôi, chứ mình biết anh Mỹ là chuyên gia SQL mà. Trách bạn ấy trước khi viết câu hỏi cũng nên xem trước liệu người khác có hiểu không chứ?
Nhưng mình hiểu sau SELECT là FieldName hay các hàm tính toán trên cơ sở FieldName chứ, mình chưa từng thấy SELECT như vậy. Nếu có thể cho ví dụ mình tham khảo với.

P/s:Câu lệnh mình viết nó chỉ tương thích với Access chứ ngôn ngữ khác không dùng "*" được mà phải dùng "%" như có lần mình từng hỏi trên diến đàn.
 
Lần chỉnh sửa cuối:
Select Left(MAHOCSINH, 2) là tính toán trên trường MAHOCSINH đấy chứ Sealand?

À phải, bài trên mình viết nhầm, thiếu chữ "Left", bài dưới đã sửa rồi.

Tôi không dám nhận là chuyên gia, chỉ mày mò dần dần mà ra thôi. Vừa rồi tôi đã áp dụng thành công hàm Replace trong SQL nữa, hàm IIf thì dùng lâu rồi:

PHP:
SELECT DICTIONARY.E11, IIf(forms!form2.soption=2,Replace([E11],"#",""),[e11]) AS xyz, ...
 
Lần chỉnh sửa cuối:
Select Left(MAHOCSINH, 2) là tính toán trên trường MAHOCSINH đấy chứ Sealand?

À phải, bài trên mình viết nhầm, thiếu chữ "Left", bài dưới đã sửa rồi.

Tôi không dám nhận là chuyên gia, chỉ mày mò dần dần mà ra thôi. Vừa rồi tôi đã áp dụng thành công hàm Replace trong SQL nữa, hàm IIf thì dùng lâu rồi:

PHP:
SELECT DICTIONARY.E11, IIf(forms!form2.soption=2,Replace([E11],"#",""),[e11]) AS xyz, ...
Cám ơn bác nhiều nhé. Đúng ý em là chỉ lấy Mã Học Sinh có số đầu là chứ không phải là câu where like="12*";
 
To Ptm0412: Mình test sao không được nhỉ
ví dụ table HS có 2 field: ma, ten

mình test câu lệnh

select left(ma,2)=12 from HS

không cho kết quả. Mình nghĩ đây là trường hợp lọc HS lớp 12. Nhưng nếu là thay thế chỉ lấy lóp thôi thì phải viết thế này cơ

select lop=left(ma,2), ten from HS

Nếu đây là thay thế mã bằng 2 ký tự đầu của mã, mà trong bảng có lớp 11 thì có tất lớp 11 chứ không phải chỉ 12
 
Lần chỉnh sửa cuối:
Hi hi, nó như vầy cơ:
PHP:
Select Left(ma,2) As Lop, ten from HS

Sẽ lấy tất cả mã HS, nhưng mỗi mã chỉ lấy 2 ký tự đầu là lớp: 10, 11, 12

Nếu chỉ lấy lớp 12:

PHP:
Select Left(ma,2) As Lop, ten from HS Where Left(ma,2) = "12"
 
Lần chỉnh sửa cuối:
OK anh Mỹ, vội sắp nghỉ nên lấy ngay biểu thức trên lưới SQL.Với phần 2 anh lại sd mệnh đề where rồi .Thank.
 
Web KT

Bài viết mới nhất

Back
Top Bottom