P H P  V I E T  N A M  P O R T A L
Xin chào, Khách. Vui lòng đăng nhập hoặc đăng ký tài khoản.
Bạn đã quên email kích hoạt?






     Trang chủ | Download | Tự học PHP | Kho tư liệu | Diễn đàn
Trang: [1]
  In  
This topic has not yet been rated!
You have not rated this topic. Select a rating:
Tác giảChủ đề: ai biết truy vấn 2 table ở 2 dabatabse ko  (Đã đọc 4911 lần)
kiem_bo
PHP Starter
*
Posts: 17


Xem hồ sơ
« on: March 09, 2009, 06:38:35 PM »

tôi có tạo 2 database là DB1 và DB2 tương ứng đó mỗi db tôi có 1 table là TB1 của DB1 và TB2 của DB2.Bây giờ tôi muốn dùng lệnh left join 2 Table thuộc 2 db thì làm sao
TB1
id ->khóa chính
news


TB2
id ->khóa chính
id_news
menu
Logged
huytuyenquang1006
PHP Starter
*
Posts: 1


Xem hồ sơ
« Trả lời #1 on: March 11, 2009, 01:10:52 AM »

Bạn làm như sau:
select tên trường theo yêu cầu
from TB1 left join TB2
on TB1.id = TB2.id


Logged
vuongquangtu
PHP Starter
*
Posts: 1


Xem hồ sơ Email
« Trả lời #2 on: July 01, 2009, 08:48:30 AM »

Sao phải khổ thế  Sad
Logged
demonhva
PHP Starter
*
Posts: 11


Xem hồ sơ
« Trả lời #3 on: July 07, 2009, 08:04:23 PM »

Bạn chỉ cần select * from Table1, Table2 where Table1.id=Table2.id thì được thôi mà
Logged
KEN_E
PHP Starter
*
Posts: 3


Xem hồ sơ
« Trả lời #4 on: October 06, 2009, 02:55:25 AM »

Ack ack, 2 DB khác nhau làm sao có thể join lại được với nhau Sad(
Em gà, nên phát ngôn bừa bãi. Hix hix!
Logged
tinh_mgv
PHP Starter
*
Posts: 3


Xem hồ sơ
« Trả lời #5 on: October 28, 2009, 02:55:52 AM »

Bạn kết nối với cả 2 CSDL, lấy toàn bộ dữ liệu của TB1 (thuộc DB1) lên bảng heap (thuộc DB2). Sau khi đã có bảng heap thì bạn đã có thể thao tác kết bảng heap và TB2 một cách bình thường.

Bảng heap sẽ tự động mất đi khi bạn đóng kết nối với DB2.
Logged
chieunm
PHP Starter
*
Posts: 14


Xem hồ sơ Email
« Trả lời #6 on: July 01, 2010, 04:34:17 PM »

Đây có lẽ chỉ là yêu cầu của bạn thôi chứ trong thực thế thì người ta ít dùng. Cách trên thì mình chưa làm bao giờ nên không biết, bạn có thể làm như sau:

- Tạo một bảng phụ (TB3) có các trường giống như TB1 trong DB2 (Kiểm tra nếu TB3 đã tồn tại thì chỉ cần xóa hết nội dung chứa trong nó).
- Kết nối với DB1
- Lấy tất cả các trường trong TB1 rồi đổ kết quả thu được vào bảng phụ (TB3) đã tạo trong DB2
- Đóng kết nối với DB1
- Kết nối với DB2
- SELECT * FROM TB2 (INNER/LEFT/RIGHT) JOIN TB3 ON TB2.ID=TB3.ID
- Xử lý kết quả thu được
- Đóng kết nối với DB2

P/S: Cách trên tuy hơi truyền thống một chút nhưng mình nghĩ nó cũng rất dễ hiểu, bạn cũng nên chú ý một số yếu tố không mong muốn để được một kết quả như mong muốn.
« Last Edit: July 02, 2010, 12:33:17 PM bởi chieunm » Logged
Trang: [1]
  In  
 
Chuyển sang:  

Powered by SMF 1.1.15 | SMF © 2006-2007, Simple Machines . Modified by PHPVN Members