Vlad_c
Guest
Помогите сделать запрос по выборке из БД Mysql
Всем привет!
Бьюсь второй день с одним запросом по выборке, возможно такое можно сделать только с помощью PHP.
У меня есть больша таблица с люми подписавшимися на журналы и нужно сделать распечатку реестра для почты, но хитрым способом т.е. в редакции помещают в конверт максимум 3 журнала и вносят в реестр. если фирма подписалась на 4 или более то разбивка идет так же по 3, ну и если есть остаток из 2-х или 1 журнала запихивают в последний конверт.
Выглядит вот так:
Название организации | Кол-во шт.
имя 1,2(2)/05
имя 3,СВ/05
имя2 1/04,2,5/05
т.е. в данном примере фирма (имя) подписалась на 1 номер, 2 но в двух экземплярах на 2005 год на 3 номер со спец.выпуском на 2005 год, фирма (имя2) подписалась на 1 на 2004 год,2,5 номера на 2005 год т.е. главный факт в том что в поле кол-во не должно привышать 3-х экземпляров, и не важно что там несколько одних и тех же номеров или это номер и спец.выпуск если больше 3-х то нужно эту фирму вывести еще раз.
Каждый реестр имеет свое имя по которому то же выберается подписчик, в БД вот такие поля, которые связаны с этой выборкой:
num1 col1 year1 sv1 pikup1
num2 col2 year2 sv2 pikup2
....................................................................
num12 col12 year12 sv12 pikup12
num1..12 - номер журнала бывает от 1-12
col1..12 - количество штук этого номера
year1...12 - год журнала на который пописались
sv1..12 - есть ли с этим номером журнала спец. выпуск (принимает значение 0 или 1)
pikup1..12 - название реестра к которому относится этот журнал (собственно тогда и сам подписчик)
т.е. для фирмы имя2 поля заполнены так:
num1=1
col1=1
year1=04
sv1=0
num2=2
col2=1
year2=05
sv2=0
num5=5
col5=1
year5=05
sv5=0
вот такие дела может кто помочь сделать запрос или с применением php
я дошел только до того что нахожу подписчиков для этого реестра но как подсчитать кол-во и вывести эту же фирму с еще ставшимися номерами????
$name_r-название реестра
$rr=mysql_query("select * from ok where pikup1 = '$name_r' or pikup2 = '$name_r' or pikup3 = '$name_r' or pikup4 = '$name_r' or pikup5 = '$name_r' or pikup6 = '$name_r' or pikup7 '$name_r' or pikup8 = '$name_r' or pikup9 = '$name_r' or pikup10 = '$name_r' or pikup11 = '$name_r' or pikup12 = '$name_r'");
for($i=0; $i<mysql_num_rows($rr); $i++)
{ $ff=@mysql_fetch_array($rr);
вывод
}
-~{}~ 20.04.05 12:14:
простите если длинный вопрос просто я не знал как еще более компактно описать тему
Всем привет!
Бьюсь второй день с одним запросом по выборке, возможно такое можно сделать только с помощью PHP.
У меня есть больша таблица с люми подписавшимися на журналы и нужно сделать распечатку реестра для почты, но хитрым способом т.е. в редакции помещают в конверт максимум 3 журнала и вносят в реестр. если фирма подписалась на 4 или более то разбивка идет так же по 3, ну и если есть остаток из 2-х или 1 журнала запихивают в последний конверт.
Выглядит вот так:
Название организации | Кол-во шт.
имя 1,2(2)/05
имя 3,СВ/05
имя2 1/04,2,5/05
т.е. в данном примере фирма (имя) подписалась на 1 номер, 2 но в двух экземплярах на 2005 год на 3 номер со спец.выпуском на 2005 год, фирма (имя2) подписалась на 1 на 2004 год,2,5 номера на 2005 год т.е. главный факт в том что в поле кол-во не должно привышать 3-х экземпляров, и не важно что там несколько одних и тех же номеров или это номер и спец.выпуск если больше 3-х то нужно эту фирму вывести еще раз.
Каждый реестр имеет свое имя по которому то же выберается подписчик, в БД вот такие поля, которые связаны с этой выборкой:
num1 col1 year1 sv1 pikup1
num2 col2 year2 sv2 pikup2
....................................................................
num12 col12 year12 sv12 pikup12
num1..12 - номер журнала бывает от 1-12
col1..12 - количество штук этого номера
year1...12 - год журнала на который пописались
sv1..12 - есть ли с этим номером журнала спец. выпуск (принимает значение 0 или 1)
pikup1..12 - название реестра к которому относится этот журнал (собственно тогда и сам подписчик)
т.е. для фирмы имя2 поля заполнены так:
num1=1
col1=1
year1=04
sv1=0
num2=2
col2=1
year2=05
sv2=0
num5=5
col5=1
year5=05
sv5=0
вот такие дела может кто помочь сделать запрос или с применением php
я дошел только до того что нахожу подписчиков для этого реестра но как подсчитать кол-во и вывести эту же фирму с еще ставшимися номерами????
$name_r-название реестра
$rr=mysql_query("select * from ok where pikup1 = '$name_r' or pikup2 = '$name_r' or pikup3 = '$name_r' or pikup4 = '$name_r' or pikup5 = '$name_r' or pikup6 = '$name_r' or pikup7 '$name_r' or pikup8 = '$name_r' or pikup9 = '$name_r' or pikup10 = '$name_r' or pikup11 = '$name_r' or pikup12 = '$name_r'");
for($i=0; $i<mysql_num_rows($rr); $i++)
{ $ff=@mysql_fetch_array($rr);
вывод
}
-~{}~ 20.04.05 12:14:
простите если длинный вопрос просто я не знал как еще более компактно описать тему