好的,我确实有这张桌子
| id | first | last | type
1 mp de bill
1 mark ve ship
2 dw her bill
2 dwi rra ship
现在我希望它像这样
| id | bill.first | bill.last | ship.first | ship.last
1 mp de mark ve
2 dw her dwi rra
加入行的主键是通过它们的ID这可能吗?
我已尝试使用group by但我不知道如何使用它
我不知道谷歌用什么词来搜索我的问题的解决方案
我只有一张表
答案 0 :(得分:1)
这样的事情应该有效 -
select
t1.first,
t1.last,
t2.first,
t2.last,
t1.type
from
test t1
inner join test t2
on t1.id = t2.id
and t1.type = 'bill'
and t1.type != t2.type
实际上,您只需要在同一个表上执行内部联接
答案 1 :(得分:0)
尝试类似
的内容select bill.id, bill.first, bill.last, ship.first, ship.last
from t as bill, t as ship
where bill.id = ship.id
and bill.type = 'bill'
and ship.type = 'ship'
或者你可以使用Join更加现代化。
答案 2 :(得分:0)
SELECT b.id, b.first, b.last, s.first, s.last
FROM bill b
LEFT JOIN ship s ON b.id=s.id AND b.type='bill' AND s.type='ship'
答案 3 :(得分:0)
试试这个:
SELECT A.id,A.first, A.last,
B.first, B.last
FROM T2 A
INNER JOIN T2 B
ON A.id = B.id
AND A.type = 'bill'
AND B.type = 'ship'