Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.16;
Скачать: CL | DM;

Вниз

Помогите с SQL   Найти похожие ветки 

 
progger ©   (2002-08-23 15:56) [0]

Добрый день, ув. знатоки, не могли бы вы мне помочь, дело в том, что я делаю запрос SQL:
select "sub1.db".TDate,
"sub2.db".TDate,
"sub2".TWhat
from "sub1.db",
"sub2.db"
where "sub1.db".Conf="sub2.db".Conf
а оно мне выдает декартово произведение этих двух таблиц, хотя кол-во строк в каждой из них одинаково.
Заранее благодарен.


 
Val ©   (2002-08-23 15:58) [1]

крайне странно, что есть conf?


 
progger ©   (2002-08-23 16:01) [2]

Conf - это поле, по которому отбираются данные


 
Reindeer Moss Eater   (2002-08-23 16:04) [3]

Если все поля Conf содержат одно значение, то произведение обеспечено.


 
Johnmen ©   (2002-08-23 16:04) [4]

поподробней про conf и стр-ру таблиц...


 
progger ©   (2002-08-23 16:17) [5]

вообщем conf - это допущен ли студент к контрольной
TDate - дата, когда был выставлен балл
Twhat - За какой вид работы балл
sub1.db - один предмет, напр. Математика
sub3.db - другой предмет, напр. Физика
Кол-во строк в обеих таблицах одинаково, но количество дат - разное, вообщем "до отказа" заполнено только поле conf, и мне нужно сединить эти две таблицы так, чтобы не было произведения...


 
Reindeer Moss Eater   (2002-08-23 16:25) [6]

А смысл объединения по полю "допущен ли студент к контрольной" ??????????


 
Val ©   (2002-08-23 16:27) [7]

естественно, вам нужно изменить условие, но существует недостаток информации - как именно соединять таблицы, кто туда должен попасть? сформулируйте задачу конкретнее.


 
Reindeer Moss Eater   (2002-08-23 16:31) [8]

Reindeer Moss Eater (23.08.02 16:04)
Если все поля Conf содержат одно значение, то произведение обеспечено.



 
progger ©   (2002-08-23 16:45) [9]

Ладно, сформулирую вопрос конкретнее:
есть две(или более) таблицы, с одинаковым кол-вом строк. Необходимо объединить их с помощью запроса SQL так, чтобы результат не был декартовым произведением этих таблиц.
Помогите, пожалуйста - очень надо...


 
Reindeer Moss Eater   (2002-08-23 16:46) [10]

Не объединяй таблицы по полю "допущен ли студент к контрольной"


 
Val ©   (2002-08-23 16:59) [11]

..и количество строк здесь не причем.
а задачу все-таки постарайся сформулировать, а то получается надо сделать хоть что-то, чтоб фигня не получилась :)


 
progger ©   (2002-08-23 17:02) [12]

ну в принципе это главное - шоб не было фигни. Две таблицы с сопоставимыми типами поле нужно объединить в Query. Как???


 
Reindeer Moss Eater   (2002-08-23 17:08) [13]

Ты же объединил уже, что именно тебе не нравится? :)


 
progger ©   (2002-08-23 18:16) [14]

мне не нравится, что результат объединения - произведение этих таблиц


 
Hro ©   (2002-08-23 23:47) [15]

Может точно скажешь что те надо, а мы тут обмозгуем.


 
ЮЮ ©   (2002-08-24 07:21) [16]

where "sub1.db".StudID="sub2.db".StudID,
где StudID - уникальный индекс студента, который, надеюсь :-), есть в обеих таблицах


 
MsGuns ©   (2002-08-24 19:02) [17]

Можно, наверное, это сделать одним запросом (я не экстраверт в секюэле), но я такие вещи решаю в несколько последовательных шагов с сохранением промежуточных рез-тов для использования в следующем шаге.


 
Vlad1 ©   (2002-08-25 13:32) [18]

Попробуй:
select TDate,
TWhat
from "sub1.db",
"sub2.db"
where "sub1.db".Conf="sub2.db".Conf


 
Чудак   (2002-08-26 05:35) [19]

Попробуй использовать параметры компонента Query типа если например у тебя главная база ("Sub1.db" и Query1), а вспомогательная ("Sub2.db" и Query2) то задай для Query2 св-во DataSource = Query1. И значение SQL напиши приблизительно так:
"select (нужные поля) from sub2 where conf=:conf"
и в св-ве Param компонента Query в редакторе должен быть этот параметр.
Гарантию что сработает не дам (так как сам недавно начал сукелем заниматься), но попробуй может получится.
Если получиться то скажи получилось ли.


 
ЮЮ ©   (2002-08-26 06:04) [20]

Vlad1 © (25.08.02 13:32)
Чудак (26.08.02 05:35)
Прежде чем советовать, особенно, когда "сам недавно начал сукелем заниматься", посмотрите, что пишет Автор:

progger © (23.08.02 16:17)
вообщем conf - это допущен ли студент к контрольной

т.о. conf - вовсе не то поле, по которой следует связывать две таблицы.


 
Reindeer Moss Eater   (2002-08-26 08:31) [21]

>ЮЮ Да то это поле! :)))
Автор просто хочет получить список всех возможных комбинаций из 2 студентов, допущенных к экзаменам. В каждой паре у него один допущен к одному, а другой - к другому экзамену.


 
ЮЮ ©   (2002-08-26 08:59) [22]

>Reindeer Moss Eater (26.08.02 08:31)
У автора: where "sub1.db".Conf="sub2.db".Conf

Следовательно, он хочет попарно объединить "допущен"-"допущен" и "недопущен"-"недопущен". Тогда уж лучше объединять "допущен"-"недопущен", чтобы "допущенный" помог "недопущенному" получить допуск :-)


 
Reindeer Moss Eater   (2002-08-26 09:01) [23]

>ЮЮ
Не обязательно, "не допущен" это вполне может быть NULL. Хотя твоя идея очень мне понравилась :)


 
ЮЮ ©   (2002-08-26 09:10) [24]

>Не обязательно, "не допущен" это вполне может быть NULL
Вряд ли он будет допущен, если он круглый NULL :-). К тому же у автора "вообщем "до отказа" заполнено только поле conf" . Может в этом и причина отказа? :-)



Страницы: 1 вся ветка

Текущий архив: 2002.09.16;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.012 c
1-50747
mrProgrammer
2002-09-05 23:32
2002.09.16
Моргание при CopyRect


1-50806
mvg_first
2002-09-03 14:59
2002.09.16
Подскажите компонент для записи видео с видеовхода


1-50743
AFrolov
2002-09-05 16:18
2002.09.16
Как у StringGrid спрятать колонку?


14-50937
M@k
2002-08-21 14:00
2002.09.16
Help!


4-51026
Renard
2002-07-25 22:07
2002.09.16
Какую функцию можно использовать в NT вместо FindWindowEx в w98