استفاده از union برای دو جدول برای فیلدها با دیتا تایپ مختلف
سلام
من دو تا جدول دارم که فیلدها فقط در شماره ردیف(ID) یکسان هستند و در واقع اطلاعات مربوط به یک شئ رو در دو جدول نگه داریم می کنم. گاهی لازم تمام اطلاعات در یک سلکت بازگشت بدم
آیا با union می شه ؟ من تا حالا ازش استفاده نکردم هرچی هم سرچ زدم و امتحان کردم نشد به ازای یک آی دی دو تا رکورد بازگشت می ده که فیلدها یکی پر یکی خالی
این کدی که من نوشتم:
SELECT cost, dateRg, dateClearing, userId, customerId, customerType, clearingType, description, CAST(0 AS tinyint) AS userId2, CAST(NULL AS datetime) AS dateCancel,
CAST(N'' AS nvarchar) AS description2
FROM DocumentTB
WHERE (Id = @id)
union
SELECT CAST(0 AS int) AS cost, CAST(NULL AS datetime) AS dateRg, CAST(NULL AS datetime) AS dateClearing, CAST(0 AS tinyint) AS userId, CAST(0 AS smallint) AS customerId,
CAST(0 AS tinyint) AS customerType, CAST(0 AS tinyint) AS clearingType, CAST(N'' AS nvarchar) AS description, userId as userId2, dateCancel, description as description2
FROM DocumentCancelTB
WHERE (Id = @id)
نقل قول: استفاده از union برای دو جدول برای فیلدها با دیتا تایپ مختلف
شما باید از JOIN استفاده کنی نه UNION
UNION برای حالتی است که تعداد فیلدها در دو SELECT یکی باشد و نوع داده آنها هم یکی باشد و یا نوع داده های SELECT های یعدی را به نوع داده های SELECT اول تبدیل کنی ولی کلا در مورد سوال شما باید از همان JOIN استفاده کنی