0
我對SQL很陌生,試圖擴展到使用聯合,所以我不能100%確定是否有可能用聯合來獲得我想要的結果。SQL聯盟不按我想要的那樣工作?
我的代碼如下:
select workorder.wonum, null as description, null as quantity, null as unitcost, null as matlincost2, null as matlinprice,
labtrans.refwo, labtrans.startdate, labtrans.starttime, labtrans.finishtime, labtrans.regularhrs, labtrans.plusplineprice, labtrans.laborcode, labtrans.linecost as labline
from workorder
left join labtrans on labtrans.refwo=workorder.wonum and labtrans.siteid=workorder.siteid
where workorder.wonum='10192'
union
select matusetrans.refwo, matusetrans.description, matusetrans.quantity, matusetrans.unitcost, matusetrans.linecost as matlincost2, matusetrans.plusplineprice as matlinprice,
null as refwo, null as startdate, null as starttime, null as finishtime, null as regularhrs, null as plusplistprice, null as laborcode, null as labline
from matusetrans
where matusetrans.refwo='10192'
;
正如你可以看到它把結果到4分個人的記錄,但我想上的結果只有2條記錄是合理的。
這可以使用聯合來完成嗎? 我試過一個聯合而不是一個聯盟,但它反正帶來了4條記錄。
聽起來像你必須使用'加入'而不是'聯合' – Jens
添加一些示例表格數據和預期結果 - 以及格式化文本! – jarlh
這很好,謝謝 - 剛剛被告知這很好,因爲它是爲了我在做什麼 – Karen