banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành Windows MySql select các cột của 2 table và sắp xếp chúng  XML
  [Question]   MySql select các cột của 2 table và sắp xếp chúng 23/09/2012 08:26:19 (+0700) | #1 | 269653
[Avatar]
tuine231
Member

[Minus]    0    [Plus]
Joined: 27/07/2010 03:34:46
Messages: 59
Offline
[Profile] [PM] [Email] [Yahoo!] [MSN]
Mình đã làm 2 ngày mà chưa ra, mọi người giúp mình với
Mô tả: mình muốn hiển thị dữ liệu ở 2 bảng và chúng được sắp xếp lồng với nhau(hiển thị 1 dòng của bảng 1 rồi mới hiển thị 1 dòng của bảng 2) cứ như thế cho đến hết dữ liệu. 2 bảng này không có quan hệ gì cả.
Mọi người gợi ý giúp mình với, làm 2 ngày mà chưa xong cái này nữa.
[Up] [Print Copy]
  [Question]   MySql select các cột của 2 table và sắp xếp chúng 23/09/2012 13:29:32 (+0700) | #2 | 269656
[Avatar]
xuanphongdocco
Member

[Minus]    0    [Plus]
Joined: 19/08/2009 08:25:03
Messages: 247
Offline
[Profile] [PM]
Của bạn đây, đoạn màu đỏ là câu truy vấn của bạn. Thủ đoạn của mình là lần lượt thêm cột phụ đánh số xen kẽ 1,3,5.. hoặc 2,4,6.. vào 2 bảng, sau đó Union lại rồi orderby là xong.

SELECT * FROM
(
(SELECT @r1:= @r1 + 2 AS row, t1.*
FROM (SELECT * FROM table1) t1, (SELECT @r1:= 0) r)

UNION

(SELECT @r2:= @r2 + 2 AS row, t2.*
FROM (SELECT * FROM table2) t2, (SELECT @r2:= -1) r)
) as t

ORDER BY row
Xuân Phong Nguyễn
[Up] [Print Copy]
  [Question]   MySql select các cột của 2 table và sắp xếp chúng 23/09/2012 15:00:25 (+0700) | #3 | 269659
[Avatar]
tuine231
Member

[Minus]    0    [Plus]
Joined: 27/07/2010 03:34:46
Messages: 59
Offline
[Profile] [PM] [Email] [Yahoo!] [MSN]

xuanphongdocco wrote:
Của bạn đây, đoạn màu đỏ là câu truy vấn của bạn. Thủ đoạn của mình là lần lượt thêm cột phụ đánh số xen kẽ 1,3,5.. hoặc 2,4,6.. vào 2 bảng, sau đó Union lại rồi orderby là xong.

SELECT * FROM
(
(SELECT @r1:= @r1 + 2 AS row, t1.*
FROM (SELECT * FROM table1) t1, (SELECT @r1:= 0) r)

UNION

(SELECT @r2:= @r2 + 2 AS row, t2.*
FROM (SELECT * FROM table2) t2, (SELECT @r2:= -1) r)
) as t

ORDER BY row
 

2 cái màu đỏ đó mình k biết nó dùng để làm gì, bạn giải thích kĩ hơn để mình áp dụng vào cái đang làm nhe.
-hỏi thêm: Có cách nào mà mình Union 2 câu lệnh select mà nó không gộp các cột lại với nhau không vậy?
Câu lệnh này thì nó hiển thị đúng theo yêu cầu
SELECT id AS id_clip, name, time
FROM clip
WHERE boken = '1'
UNION SELECT id AS id_content, title, time
FROM content
ORDER BY `time`
Nhưng ngặc cái là nó chỉ có id_clip, còn id_content thì nó ko hiển thị, bác có cách nào cho nó hiển thị id_clip và id_content và các cột khác khi hiển thị không vậy?
[Up] [Print Copy]
  [Question]   MySql select các cột của 2 table và sắp xếp chúng 23/09/2012 16:09:30 (+0700) | #4 | 269660
[Avatar]
xuanphongdocco
Member

[Minus]    0    [Plus]
Joined: 19/08/2009 08:25:03
Messages: 247
Offline
[Profile] [PM]
Bạn search và đọc lại dùm mình cái UNION thì sẽ rõ thôi.
Xuân Phong Nguyễn
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|