dongpao9165 2016-06-28 19:53
浏览 32
已采纳

如果没有在T2中替换,则mysql从T1中选择

So mysql PDO query I am trying to write must compare columns from two tables and output array.

  1. If empty output data from table1
  2. if cell has value same as table2, output that value as first and then all other values next.

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|

and the output for John should be:

day1, job1, job2, job3
day2, job2, job1, job3
day3, job1, job2, job3

and the output for Jack should be:

day1, jobCCC, jobABC, jobXYZ
day2, jobABC, jobCCC, jobXYZ
day3, jobXYZ, jobABC, jobCCC

Thanks!

  • 写回答

1条回答 默认 最新

  • douxiuar885064 2016-06-28 20:13
    关注

    I got close... anyone care to help me out?

    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
    

    Update!

    Here's the final product (I think):

    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
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上