我试图从两个表中获取日期,但问题是他们正在返回多个行的个人ID。 我有表像这样: -从MySQL中的两个表中检索数据
Transaction
-----------
tid|startdate|enddate|status
100|2-9-2015|2-9-2015|success
200|1-9-2015|1-9-2015|failed
300|31-8-2015|31-8-2015|success
Test_Details
------------
id|tid|test_name|test_status
1|100|Test1|yes
2|100|Tes2|no
3|100|Test3|yes
4|200|Test1|no
5|200|Tes2|no
6|200|Test3|yes
7|300|Test1|yes
8|300|Tes2|no
9|300|Test3|no
期望的结果: -
tid|startdate|enddate|status|Test1|Test2|Test3
100|2-9-2015|2-9-2015|success|yes|no|yes
200|1-9-2015|1-9-2015|failed|no|no|yes
300|31-8-2015|31-8-2015|success|yes|no|no
我使用这个查询: -
select distinct ts.tid as tid, ts.startdate as startdate,
ts.enddate as enddate, ts.status as status,
CASE WHEN (td.test_name='Test1') THEN test_status END as Test1,
CASE WHEN (td.test_name='Test2') THEN test_status END as Test2,
CASE WHEN (td.test_name='Test3') THEN test_status END as Test3
from transation ts, test_details td where ts.tid =td.id
但是我却越来越多行。 这里是SQLFiddle演示
喜添加组后用自己的查询,我想第二个,但它占用太多的时间执行。 –
@NikhilGupta你有一个关于transaction.tid的索引吗?和一个关于test_details.id?这应该会提高性能 – fthiella