【发布时间】:2012-11-10 01:23:49
【问题描述】:
我需要一些关于我的 mysql 语法的帮助。
我的表有用户信息,但发货地址和账单地址的订单号相同。
有时人们会选择送货到他们的帐单邮寄地址;我只需要用户没有输入送货地址的订单号记录,以及他们输入送货地址的位置。
如果他们同时输入了收货地址和收货地址,我只需要收货地址,如果这有意义的话。
在表格中,一个订单号有时会出现重复的字段。如果这令人困惑,请查看以下内容:
------------SQL TABLE -----------
order_id | address_type | user_name | address
100 | billto | Homer Simposn | 123 Main St.
100 | shipto | Homer Simpson | 455 XYZ Ave.
101 | billto | Peter Griffin | 780 111th St.
102 | billto | Charles Xavier | 555 Bergen St.
102 | shipto | Jean Gray | 555 Bergen St.
我需要的输出是:
100 - shipto - Homer Simposn - 455 XYZ Ave.
101 - billto - Peter Griffin - 780 111th St.
102 - shipto - Jean Gray - 555 Bergen St.
这是我的语法,它只会返回“shipto”记录。
SELECT * FROM order_info AS A WHERE A.address_type = 'shipto' AND
NOT EXISTS (SELECT B.address_type
from order_info AS B
where B.address_type = A.address_type
and B.address_type = 'billto')
我想做IF之类的事情,没有shipto,然后返回billto,这可以在sql语法中完成吗?
谢谢!
【问题讨论】:
标签: mysql syntax duplicate-data not-exists