se8820726
چهارشنبه 13 شهریور 1392, 14:19 عصر
سلام من دوتا جدول دارم به اسم های a , b حالا میخوام اطلاعات این دوتا رو بگیرم ولی رکورد با id=3 رو از جدول a بهم نده
من این کد رو زدم:
select * from a,(select 'a' tbl_name)x where id <> 3 and tbl_name <> 'a'
union
select * from b,(select 'b' tbl_name)x where id <> 3 and tbl_name <> 'a'
اما تو خروجی این کد اصلا جدول a رو نمیده و از جدول b هم خبر با id=3 رو بهم نمیده
حالا اگه به جای and ها or بزارم همه چی درست میشه !!!!
select * from a,(select 'a' tbl_name)x where id <> 3 or tbl_name <> 'a'
union
select * from b,(select 'b' tbl_name)x where id <> 3 or tbl_name <> 'a'
چرا؟؟
من این کد رو زدم:
select * from a,(select 'a' tbl_name)x where id <> 3 and tbl_name <> 'a'
union
select * from b,(select 'b' tbl_name)x where id <> 3 and tbl_name <> 'a'
اما تو خروجی این کد اصلا جدول a رو نمیده و از جدول b هم خبر با id=3 رو بهم نمیده
حالا اگه به جای and ها or بزارم همه چی درست میشه !!!!
select * from a,(select 'a' tbl_name)x where id <> 3 or tbl_name <> 'a'
union
select * from b,(select 'b' tbl_name)x where id <> 3 or tbl_name <> 'a'
چرا؟؟