Tôi có 2 bảng, một bảng được gọi là posts
và một bảng được gọi là users
. Bên trong posts
Tôi có một số cột, một là chìa khóa nước ngoài của
SELECT users.username, users.userid, posts.userid
FROM users, posts
WHERE users.userid = posts.userid
1. Trong bảng users
của tôi, tôi có một số cột bao gồm SELECT users.username, users.userid, posts.userid
FROM users, posts
WHERE users.userid = posts.userid
1 và SELECT users.username, users.userid, posts.userid
FROM users, posts
WHERE users.userid = posts.userid
4. Tôi muốn sử dụng SELECT users.username, users.userid, posts.userid
FROM users, posts
WHERE users.userid = posts.userid
5 để tìm SELECT users.username, users.userid, posts.userid
FROM users, posts
WHERE users.userid = posts.userid
6 và hiển thị SELECT users.username, users.userid, posts.userid
FROM users, posts
WHERE users.userid = posts.userid
7. Hiện tại tôi đang sử dụng:SELECT posts.postid, posts.title, posts.text, posts.link, posts.good, posts.bad, posts.userid
FROM posts
Để lấy dữ liệu về từng bài đăng và,
SELECT users.username, users.userid, posts.userid
FROM users, posts
WHERE users.userid = posts.userid
Để có được dữ liệu về từng người dùng, nhưng khi tôi làm điều này, đầu ra của
SELECT users.username, users.userid, posts.userid
FROM users, posts
WHERE users.userid = posts.userid
8 luôn chỉ là người dùng đầu tiên. Tôi có hai bảng A & B.
Bảng a
id | name | num
Bảng b
id | date | roll
SELECT users.username, users.userid, posts.userid
FROM users, posts
WHERE users.userid = posts.userid
9 trong Bảng B là một khóa nước ngoài liên quan đến SELECT users.username, users.userid, posts.userid
FROM users, posts
WHERE users.userid = posts.userid
9 trong Bảng A.Tôi muốn lấy nội dung của Bảng B nơi ID được cung cấp và cùng với dữ liệu đó, tôi cần tên có ID được đặt từ Bảng A.
Lưu ý: Không thể sử dụng nhiều truy vấn được phân tách bằng dấu phẩy; Cần thực hiện cả hai
1 trong một truy vấn.
cannot use multiple queries separated by commas; need to do both the id | name | num
id | name | num
1s in one query.hỏi ngày 11 tháng 2 năm 2016 lúc 17:58Feb 11, 2016 at 17:58
YashasyashasYashas
3351 Huy hiệu vàng3 Huy hiệu bạc12 Huy hiệu đồng1 gold badge3 silver badges12 bronze badges
1
Tham gia bảng là một nguyên tắc cơ bản của cơ sở dữ liệu quan hệ. Trong trường hợp của bạn, A và B có liên quan đến cột
SELECT users.username, users.userid, posts.userid
FROM users, posts
WHERE users.userid = posts.userid
9, điều đó có nghĩa là bạn có thể sử dụng cú pháp tương tự như cái này:SELECT a.id, a.name, a.num, b.date, b.roll
FROM a
INNER JOIN b ON a.id=b.id;
id | name | num
3 có nghĩa là bạn sẽ chỉ thấy các hàng có các bản ghi phù hợp trong A và B. Nếu bạn muốn tất cả các hàng trong A và các bản ghi phù hợp trong B, bạn có thể thay đổi id | name | num
3 thành id | name | num
5. Ngược lại, nếu bạn muốn tất cả các bản ghi từ B và chỉ các bản phù hợp từ A, hãy sử dụng id | name | num
6. Cuối cùng, nếu bạn cần mọi thứ từ cả hai bảng, phù hợp hay không, bạn có thể sử dụng id | name | num
7.Đã trả lời ngày 11 tháng 2 năm 2016 lúc 18:18Feb 11, 2016 at 18:18
Daniel Hutmacherdaniel HutmacherDaniel Hutmacher
8,9071 Huy hiệu vàng21 Huy hiệu bạc51 Huy hiệu đồng1 gold badge21 silver badges51 bronze badges
Để có được kết quả từ hai bảng được liên kết với khóa nước ngoài, bạn cần tham gia các bảng.
Tìm truy vấn dưới đây như bạn muốn kết quả:
SELECT name, date, roll
FROM A
INNER JOIN B
ON A.id = B.id;
Đã trả lời ngày 12 tháng 2 năm 2016 lúc 5:04Feb 12, 2016 at 5:04
GovindgovindGovind
1232 Huy hiệu vàng3 Huy hiệu bạc13 Huy hiệu đồng2 gold badges3 silver badges13 bronze badges
0
Bạn cần tham gia các bảng này để có được kết quả mà bạn muốn.
SELECT b.*, a.name FROM tableB AS b INNER JOIN tableA as A ON [b.id=a.id];
Truy vấn này sẽ trả về mọi thứ từ Bảng B và
id | name | num
8 từ Bảng A trong đó ID từ Bảng B giống như ID từ Bảng A.Đã trả lời ngày 11 tháng 2 năm 2016 lúc 18:23Feb 11, 2016 at 18:23
Edu C.Edu C.Edu C.
Phim huy hiệu bạc 2311 Huy hiệu đồng1 silver badge4 bronze badges
Để truy xuất dữ liệu từ cả hai bảng được liên kết với khóa nước ngoài, tức là [cột chung], bạn phải tham gia cả hai bảng.
Nếu bạn khớp dữ liệu từ cả hai bảng thì hãy sử dụng tham gia bên trong.
> SELECT A.List_Of_columns,B.List_Of_columns FROM Table1 AS A INNER
> JOIN Table2 as B ON A.ID=B.ID [Here Id is Common in both table].
Nếu bạn muốn khớp dữ liệu từ cả hai bảng cùng với tất cả các bản ghi từ Bảng 1 thì hãy sử dụng tham gia bên trái thay vì tham gia bên trong. Nếu bạn muốn tất cả các bản ghi từ Table2 sử dụng ngay Tham gia.
Đã trả lời ngày 12 tháng 2 năm 2016 lúc 5:28Feb 12, 2016 at 5:28
KD29KD29KD29
531 Huy hiệu vàng2 Huy hiệu bạc9 Huy hiệu đồng1 gold badge2 silver badges9 bronze badges