PDA

View Full Version : سورت بر اساس فیلد های یک تیبل دیگر



tabib_m
یک شنبه 24 مهر 1384, 20:01 عصر
با سلام

میخواستم بدونم چطوری میشه در هنگام سلکت بر اساس یک تیبل دیگه از آیدی این تیبل در اون ثبت شده سرت کرد؟

با یه مثال منظورم رو واضح تر میکنم:

فرض کنید ما یک تیبل داریم که در اون نام و نام خانوادگی و مشخصات افراد ثبت میشه.

حالا یک تیبل دیگه داریم که در اون آی دی هر شخص ثبت شده و شماره تلفن و آدرس و ... رو توی اون ثبت میکنیم.

حالا اگه من بخوام تیبل تلفن ها سلکت کنم و بخوام بر اساس نام و نام خانوادگی افراد سرت کنم باید چیکار کنم؟

Achchan
دوشنبه 25 مهر 1384, 11:44 صبح
Hi,
First of all: Your desing is not as good as it could in my humble opinion:What is the reason for putting the Tel and contact info in another table.These all belong to a single identity,it is *Person* .If there is any special need please clarify me.
Second:I guess you should have a common column(here I mean person_id or something like that) in both tables,so the only thing you need is to join these two tables using person_id and select the phone number from the result.It is obvious you will sort by name in ORDER BY clause.
-Let me know if I missed something and feel free to mail me: baronc_rampantc@yahoo.ca

mzjahromi
دوشنبه 25 مهر 1384, 11:47 صبح
مگه نمیشه با هم Join کرد؟ اگه با هم Join کنی مثل یک Table میشه

tabib_m
دوشنبه 25 مهر 1384, 13:05 عصر
چطوری میتونم این کار رو بکنم؟

mzjahromi
دوشنبه 25 مهر 1384, 13:35 عصر
Select *
From Names N,Info I
Where N.Id=I.ID
Order by N.Name

tabib_m
دوشنبه 25 مهر 1384, 21:43 عصر
آیا در این صورت اگه من توی تیبل تلفن ها یک آیدی رو چند بار تکرار کرده باشم مشکلی پیش نمیاد؟

tabib_m
سه شنبه 03 آبان 1384, 21:21 عصر
بابا لطفا یکی جواب بده!! :(

oxygenws
چهارشنبه 04 آبان 1384, 10:13 صبح
فرض کن جدول زیر رو داریم.
---------------------------------
id parent
1 0
2 3
3 1

و می خوایم با جدول زیر join اش کنیم.
---------------------------------
id count
1 1
2 4
3 7
2 4
3 5

و این دو جدول رو با کمک id می خوای join کنی.
**جدول** خروجی چیزی مشابه زیر میشه.
---------------------------------
id parent count
1 0 1
2 3 4
2 3 4
3 1 7
3 1 5

نکته 1: مقدار parent در این مثال کاملا تزیینی است!!
نکته 2: می تونی از distinct برای تکراری نشدن سطر ها (نتیجه ها) کمک بگیری.

oxygenws
چهارشنبه 04 آبان 1384, 10:26 صبح
شرمنده، space هام پریده!!!! خودت جداول فوق رو تفسیر کن.

tabib_m
جمعه 06 آبان 1384, 21:09 عصر
خیلی ممنون :-)