PDA

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?

lam_lvl
16-11-2003, 10:29
Ý 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.

lam_lvl
23-11-2003, 13:54
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??

thangvq
23-12-2003, 17:17
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??

ptran
28-12-2003, 03:23
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?

ptran
13-01-2004, 03:52
:) 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.

mak123
03-01-2012, 15:58
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 ", "