|
|
|
Подскажите как организовать таблицу
|
|||
|---|---|---|---|
|
#18+
Мне нужно сделать таблицу (Т1), где (помимо прочих) есть 2 поля: "город отправления" и "город получения". Соответственно есть таблица городов (Т2). Я сделал в Т1 2 внешних ключа и ID Т2. Но сразу же встал вопрос, как написать запрос, который бы выдавал Т1, а вместо ID в 2-х полях городов их названия (из Т2). И вот теперь я в замешательстве: переделывать таблицу (но тогда как?), или придумать как написать запрос (тоже не знаю как). Помогите, если знаете. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2003, 18:15 |
|
||
|
Подскажите как организовать таблицу
|
|||
|---|---|---|---|
|
#18+
Забыл сказать: база-IB6.5, клиент (хотя это вроде неважно)-Delphi ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2003, 18:18 |
|
||
|
Подскажите как организовать таблицу
|
|||
|---|---|---|---|
|
#18+
Если я правильно понял, то у тебя есть две таблицы: Т1(ID1-город отправления, ID2-город получения, .... и т.д.) Т2(ID - ключик, NAME - название города) И ты хочешь чтобы вместо ID1, ID2 подставлялся NAME из второй таблицы. Если так, то SQL-запрос будет такой: SELECT b.Name AS City1, c.Name AS City2, a.NAME FROM T1 a,T2 b,T2 c WHERE b.Name = (select NAME from t2 where id=t1.id1) AND c.Name=(select NAME from t2 where id=t1.id2) только что проверял... вроде работает ... но проверял в БДЕ ____________________________ У меня к тебе встречный вопрос - как из DBF III+ импортировать данные в InterBase, причем в таблице русские имена. Файл с кодировкой dBASE RUS cp866 ? Без русских имен - все классно, а если с ними то ошибка :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2003, 19:43 |
|
||
|
Подскажите как организовать таблицу
|
|||
|---|---|---|---|
|
#18+
Вам неплохо бы почитать основы SQL, в частности про операцию соединения. Я этот запрос писать не буду - он очень простой и намного полезнее будет если вы откроете справочник по SQL и напишите его сами. К тому же в самих дельфях есть Lookup-поля - ими тоже можно такие данные получать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2003, 20:33 |
|
||
|
Подскажите как организовать таблицу
|
|||
|---|---|---|---|
|
#18+
TO GOLD автор писал:Вам неплохо бы почитать основы SQL, в частности про операцию соединения. Я этот запрос писать не буду - он очень простой и намного полезнее будет если вы откроете справочник по SQL и напишите его сами. Можно критики вашу: SELECT Card,TOSize,TimeSize, (SELECT SUM(EndNum-StartNum+1) FROM WCards b WHERE WNum in (SELECT WNum FROM AWaybill WHERE WDate <='01.10.2003' AND isArrive=1) AND Pr=0 AND a.Card=b.Card GROUP BY Card ) AS Arrived, (SELECT SUM(EndNum-StartNum+1) FROM WCards c WHERE WNum in (SELECT WNum FROM CWaybill WHERE WDate <='01.10.2003' AND isCost=1) AND Pr=1 AND a.Card=c.Card GROUP BY Card ) AS Costed FROM Telecards a WHERE Card=(SELECT DISTINCT Card FROM WCards WHERE Card=a.Card) Правильно ли я потроил этот запрос и если можно по другому, то прошу вашего замечания... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2003, 17:10 |
|
||
|
Подскажите как организовать таблицу
|
|||
|---|---|---|---|
|
#18+
вложенными запросами я бы не злоупотреблял бы а на счетостального не понял не чиго. Прошу прощения. http://www.krista.ru/ib/index.html][сдесь почему бы не злоупотреблялбы] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 08:45 |
|
||
|
Подскажите как организовать таблицу
|
|||
|---|---|---|---|
|
#18+
select * from CONTACT_T left join FACE_T on FACE_CC=FACE_ID Здесь FACE_CC - поле из таб CONTACT - ссылка на ID (поле FACE_ID) в табл FACE, где содержатся фамилии лиц. Вместо * можно указать поля, которые нужны в гриде, или в редакторе DataSet или Grid можно "отрихтовать". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 10:07 |
|
||
|
Подскажите как организовать таблицу
|
|||
|---|---|---|---|
|
#18+
Разбираться в вашем запросе не буду, но мне тут сразу не нравиться вот что: 1) автор писал:WHERE WNum in (SELECT WNum FROM CWaybill WHERE WDate <='01.10.2003' AND isCost=1) Я бы заменил это на Код: plaintext 2) автор писал:WHERE Card=(SELECT DISTINCT Card FROM WCards WHERE Card=a.Card) Аналогично. А чо каксается исходного вопроса, то тут просто 2 соединения (джойна) с таблицей городов нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2003, 12:20 |
|
||
|
|

start [/forum/search_topic.php?author=olegatorom&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 703ms |
| total: | 848ms |

| 0 / 0 |
