我需要一些mySQL语句的帮助。
我有一个看起来像这样的mySQL表:
Name Year Score Address Zip
Joe 2010 A NULL NULL
Joe 2009 B 123 Main St. 03755
Mary 2010 B NULL NULL
Mary 2009 C 234 Elm St. 03866
我需要抓住2009年的地址和拉链,并将它们放入各自的2010年单元格中。不幸的是,我有很多名字。
名字不同 - 乔只指一个乔,玛丽只指一个玛丽。
我知道最好有一个包含地址的单独表格。但是,我已经简化了我的例子。该表设计不完美,但以上是我需要解决的问题。
有什么建议吗?
谢谢, Laxmidi
答案 0 :(得分:1)
抛开这个表(你已经认识到)的非规范化特性,你可以使用自联接来完成这个:
UPDATE mytable a
INNER JOIN mytable b
ON a.Name = b.Name
AND a.Year = 2010
AND b.Year = 2009
SET a.Address = b.Address,
a.Zip = b.Zip;