View Full Version : select toàn bộ dữ liệu
real_time
16-11-2003, 06:11
làm sao để select toàn bộ dữ liệu trong CSDL đây?
vd:
minhcó các bảng khach_hang(ma_kh,a,b,c...); xe(ma_xe,....) .... (tất cả các bảng đều có các mối quan hệ với nhau)
bây giờ muốn tổng hợp hết tất cả các thông tin của các bảng bằng câu lệnh select thì làm sao?
Ý của bạn chưa rõ ràng !. Select tất cả mẫu tin của các bảng mà các mẫu tin có QUAN HỆ với nhau hay không xét đến quan hệ !.
- Trường hợp 1 - Các không mẫu tin quan hệ:
select * from table1
union
select * from table2
Nó sẽ trả về tất cả các mẫu tin trong 2 bảng table1 và table2 mà không quan tâm chúng có QUAN HỆ hay không.
- Trường hợp 2 - Các mẫu tin quan hệ
Select table1.*, table2.* From table1
Inner Join table2 On Table1.field1 = Table2.field2 --2 bảng có quan hệ thông qua field1 và field2
Trả về tất cả các mẫu tin con của table2 có quan hệ với table1.
Nếu những gì trình bày ở trên chưa thỏa đáng. Xin cho ý kiến
Thiên Lý Độc Hành
real_time
22-11-2003, 00:12
Cảm ơn lam_lvl! Mình làm theo bạn thì cũng đã được rồi nhưng!
cho mình hỏi thêm là mình muốn select 3,4 bảng thì sao???
à còn làm cách nào để loại trừ một trường nào đó ra khỏi câu lệnh select??
thế này nhé
giả sử cái bảng xe của mình trên kia mình muốn select cái bảng xe đó nhưng trừ mã xe thì câu lệnh là thế nào?
Cảm ơn bạn rất nhiều.
Mình chưa hiểu ý bạn như thế nào !. Bạn có thể nói rõ hơn không ??
Thiên Lý Độc Hành
real_time
27-11-2003, 22:51
đây là câu hỏi thêm của mình!
thường người ta viết thế này để lấy toàn bộ dữ liệu của một bảng nào đó
select * from table ????
đúng không??
Bảng đó là một bảng rất nhiều field (ít nhất là 5 hay 6 field nhiều thì không biết) Vậy trường hợp một field nào đó thuộc bảng mà mình không muốn nó hiện lên trong câu lệnh select * ...... thì làm cách nào???
mình muốn hỏi bạn nếu mình muốn lấy tất cả các field của 3,4 .... n bảng thông qua các quan hệ của nó thì làm thế nào??
Nếu chỉ muốn một số trường được liệt kê ra thì bạn phải chỉ rõ danh sách các tên trường sau từ khóa Select
real_time
28-12-2003, 00:00
nhưng như vậy thì mất thời gian lắm chẳng hạn mình có 10 trường mà chỉ muốn loại bỏ có 1 trường vậy phải viết tên 9 trường còn lại sao??? không còn cách nào khác sao??
Hi Real_time,
Nếu RT muốn thật sự trở thành lập trình viên giỏi thì nên bắt đầu từ đây ... liệt kê tất cả các fields ra dù là đang muốn liệt kê tất cả . Có nghĩa là thay vì "select *" thì dùng "select field1, field2" . Sau này sẽ thấy cái lợi của nó .
real_time
13-01-2004, 01:51
mình cũng biết là như thế nhưng mà mình cũng muốn tìm hiểu xem có công cụ nào như thế không?
:) có cách nhanh nha^'t la` .. vô Analyzer rồi dùng
select * from table
sau đó copy cái line đầu tiên của result (nó là các field names) ... delete các spaces rồi thêm các , :)
khi delete các spaces có thể dùng replace với regular expression để replace các spaces thành 1 space rồi sau đó replace lần nữa với space thay bằng ", "
real_time
14-01-2004, 14:56
cảm ơn các bạn đã giúp đỡ mình! mình còn câu hỏi này nữa mong các bạn sớm trả lời! dùng sql sever 2000 để tạo login name bằng thủ tục sp_addlogin thì mình tạo được rồi nhưng để cho login đó sử dụng csdl đã có thì làm thế nào?? mình đã tra rất nhiều trong help mà không có ai biết xin chỉ dùm với! (nhớ là làm bằng câu lệnh nhé chứ còn bằng tay thì mình cũng biết viết rồi) cảm ơn các bạn trươc.
có cách nhanh nha^'t la` .. vô Analyzer rồi dùng
select * from table
sau đó copy cái line đầu tiên của result (nó là các field names) ... delete các spaces rồi thêm các ,
khi delete các spaces có thể dùng replace với regular expression để replace các spaces thành 1 space rồi sau đó replace lần nữa với space thay bằng ", "
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.