我需要一些关于我的 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语法中完成吗?
谢谢!