You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`ta_a`) as c group by c.name, c.status having c.status != 0' at line 1
select c.name , c.status
from (select name_a, status_a, from a
UNION
select name_b ,status_b from b) as c
group by c.name , c.status having c.status != 0
จะเรียงตาม c.name ยังไงครับ
select c.name , c.status
from (select name_a, status_a, from a
UNION
select name_b ,status_b from b) as c
group by c.name ASC, c.status having c.status != 0
group by c.name ASC, c.status having c.status != 0
Date :
2016-05-25 15:48:27
By :
rock_rock
No. 12
Guest
...
group by c.name, s.status having...
order by c.name desc
select distinct * from (
select a.* from a where status>0 and not exists( select name from b where name=a.name and status>0)
union all
select b.* from b where status>0 and not exists( select name from a where name=b.name and status>0)
) as tmp
select c.name, c.status from (a union b) as c group by c.name, c.status having c.status != 0;
ถ้าเราเพิ่ม อีกตาราง คือ ตาราง e
โดยมี
ืname เหมือนกัน กับ ตาราง a , b แค่ฟิว เดียว
แต่มีเพิ่ม company เข้าไป เพราะอยากให้ order by company (รูปแบบเป็น text)
โดย ให้ เรียง จากน้อยไปมาก
group by c.name และ order by c.company
select c.name, c.status c.company from (a union b union e) as c group by c.name, c.status having c.status != 0
order by c.company ASC
select c.name , c.status
from (select name_a, status_a, from a
UNION
select name_b ,status_b from b) as c
RIGHT JOIN
select name_e, company from e
ON name_e=c.name
group by c.name , c.status having c.status != 0
หรือ อีกแบบ ลอง
select c.name , c.status
from (select name_a, status_a, from a
UNION
select name_b ,status_b from b) as c
group by c.name , c.status having c.status != 0
ได้แล้ว ครับ ขอบคุณมากมาย
ดึงค่าที่ได้มาครั้งแรก จากการ union เก็บไว้ c
แล้วก็ inner join กับ ta_e ที่เราเพิ่มเข้าไป โดย id เหมือนกัน แล้ว ดึงค่าตาราง e ออกมาแล้ว ก็ มา order by ตาราง e
////select * from table_1 tb1 inner join table_2 tb2 on tb1.tb_11= tb2.tb_21 inner join table_3 tb3 on tb1.tb_13 = tb3.tb_33
select c.name , c.status, e.name_e , e.company
from (select name_a, status_a, from a
UNION
select name_b ,status_b from b) as c
INNER JOIN company as e
ON c.name_a=e.name_e
group by c.name , c.status having c.status != 0
order by e.company ASC
1. คิวรี่ธรรมดา SELECT * FROM tb_A WHERE status_a =1 แล้วเก็บผลลัพธ์ใส่อาเรย์
2. คิวรี่ธรรมดา SELECT * FROM tb_B WHERE status_b =1 แล้วเก็บผลลัพธ์ใส่อาเรย์