PDA

View Full Version : مشکل تو گرفتن اطلاعات از mysql



se8820726
چهارشنبه 13 شهریور 1392, 13: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'


چرا؟؟

linuxUser
چهارشنبه 13 شهریور 1392, 15:09 عصر
سلام دوست عزیز
به کوری اول توجه کن. یه مشکل منطقی داره، select * from a بعدش گفتی که tbl_name <> a باشه. نمی شه که فیلدی از جدول a انتخاب بشه که tbl_name یا اسم جدولش مخالف a باشه!

se8820726
چهارشنبه 13 شهریور 1392, 19:56 عصر
نه داداش.
نیگا کن بین tbl_name <> a با id <> 3 یه and وجود داره. یعنی فیلدی که هم id=3 هم tbl_name=a هست حذف بشه بقیه شو نشون بده. ولی این درست کار نمیکنه!!!