所以mysql PDO查询我试图写必须从两个表和输出数组比较列。
- 如果表1 中输出数据为空
- 如果cell的值与table2相同,首先输出该值,然后输出所有其他值。
job table:
table1
|jobName|Name|
|job1 |John|
|job2 |John|
|job3 |John|
|jobABC |Jack|
|jobCCC |Jack|
|jobXYZ |Jack|
and day table:
table2
|day |jobName|Name|
|day1| |John|
|day1|jobCCC |Jack|
|day2|job2 |John|
|day2| |Jack|
|day3|jobXYZ |Jack|
|day3|job1 |John|
, John的输出应该是:
day1, job1, job2, job3
day2, job2, job1, job3
day3, job1, job2, job3
, Jack的输出应该是:
day1, jobCCC, jobABC, jobXYZ
day2, jobABC, jobCCC, jobXYZ
day3, jobXYZ, jobABC, jobCCC
谢谢!
我差点…有人愿意帮我吗?
http://sqlfiddle.com/!9/e5a510/12
SELECT
b.Day,
COALESCE(a.Name, b.Name) AS Name,
COALESCE(a.JobName, b.JobName) AS JobName
FROM table1 a, table2 b
WHERE a.Name = b.Name
更新!
这是最终产品(我认为):
http://sqlfiddle.com/!9/e5a510/53
SELECT
b.Day,
COALESCE(a.Name, b.Name) AS Name,
COALESCE(a.JobName, b.JobName) AS JobName
FROM table1 a, table2 b
WHERE a.Name = b.Name AND a.Name = 'Jack'
ORDER BY b.Day ASC, a.JobName = b.JobName DESC, a.JobName ASC