Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

И снова они. SQL запросы. [D7, MS Access ]


Страницы:   1 2

RustiK ©   (2004-02-26 12:44:00) 

Здраствуйте все.
Не судите строго.
Есть ворос... и три таблицы a(code, quantity) , b(code, quantity), с(code, quantity).
В a.codes храняться все возможные варианты записей. Мне нужно объединить эти таблицы так , чтобы мне показывало записи поля code и выводились бы только те, которые есть в  таблице b и с. Записи b.code и a.code не идетичны и могут не совпадать по порядку.
Потом отдельно далжны выводиться a.quantity, b.quantity и с.quantity.
то есть вот так

 codes  a.quantity  b.quantity  с.quantity.
1
2
3
4
.
.
.
n

две таблици соединить смог, а вот три никак. Прошу помощи.


Sandman25+1   (2004-02-26 13:08:00) [21]

[13] Johnmen ©   (26.02.04 13:03)

То есть для CHAR у него в кодах записано '1%' и '12'? Тогда тем более нужно ставить =, чтобы не нарваться на равенство '1%','12' и '%2'.

Sandman25 забыл пароль, а потом у него родился сын и он решил добавить к старому нику единичку :)


Johnmen   (2004-02-26 13:06:00) [22]

>не забывайте база аксессовская

Помним. А на что это влияет ?


RustiK   (2004-02-26 13:04:00) [23]

не забывайте база аксессовская


Johnmen   (2004-02-26 13:03:00) [24]

>Sandman25+1   (26.02.04 13:00) [10]

От типа зависит выражение условия соединения.

PS А где Sandman25 ©  ? :)


HSolo   (2004-02-26 13:01:00) [25]

А Johnmen ©   (26.02.04 12:59) [9] ?


RustiK   (2004-02-26 13:01:00) [26]

нет не заработало выдает ошибку
говорит (missing operator) in query expression 'a.code like b.code LEFT OUTER JOIN c ON a.code like c.code'


Sandman25+1   (2004-02-26 13:00:00) [27]

[9] Johnmen ©   (26.02.04 12:59)

5 баллов :)

Только непонятно, что зависело от типа.


Johnmen   (2004-02-26 12:59:00) [28]

SELECT a.code, a.quantity, b.quantity, c.quantity
FROM a
JOIN b ON a.code=b.code
JOIN c ON a.code=c.code


RustiK   (2004-02-26 12:57:00) [29]

integer


Johnmen   (2004-02-26 12:53:00) [30]

Какой тип a.code ?


Sandman25+1   (2004-02-26 12:51:00) [31]

[5] HSolo ©   (26.02.04 12:50)

Зачем LEFT JOIN с проверкой на существование???


HSolo   (2004-02-26 12:50:00) [32]

SELECT a.code, a.quantity, b.quantity, c.quantity
FROM a
LEFT OUTER JOIN b ON a.code like b.code
LEFT OUTER JOIN c ON a.code like c.code
WHERE not (b.quantity is null) and not (c.quantity is null)


Sandman25+1   (2004-02-26 12:49:00) [33]

WHERE лишнее - уберите его.
like лучше заменить на =
А потом добавьте еще один INNER JOIN c ON c.code = a.code


RustiK   (2004-02-26 12:46:00) [34]

вот...

SELECT a.code, a.quantity, b.quantity
FROM a INNER JOIN b ON a.code like b.code
WHERE a.code like b.code;


HSolo   (2004-02-26 12:45:00) [35]

Как Вы соединяли 2 таблицы?


Sandman25+1   (2004-02-26 12:44:00) [36]

Как 2 соединили? Код покажите.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо