Jump to content
php.lv forumi

Jubilāru izvilkšana pa smuko


Pentiums

Recommended Posts

Sākšu ar to, ka lietotāju tabulā `draugi` glabājas vārda diena un dzimšanas diena DATE laukos (YYYY.MM.DD) un es gribu izvilkt tuvākās jubilejas, piemēram, uz nākamajām 60 dienām, tā lai parādītos šādi:

dz/d 13.04 Arnis Puriņš
dz/d 21.04 Jānis Bērziņš
v/d 18.05 Ēriks Sietiņš
dz/d 11.06 Mārtiņš Kārtiņš

Es māku izvilkt tikai atsevišķi vārda dienu un dzimšanas dienu

DZ/D:

SELECT vards, uzvards, MONTH(dzimene) menesis, DAYOFMONTH(dzimene) diena
FROM draugi
WHERE DAYOFYEAR(dzimene) < '".(date('z')+60)."'

 

V/D:

SELECT vards, uzvards, MONTH(vardene) menesis, DAYOFMONTH(vardene) diena
FROM draugi
WHERE DAYOFYEAR(vardene) < '".(date('z')+60)."'

 

kā šos kverijus sapludināt kopā?

Link to comment
Share on other sites

Labi, uzražoju šādu

SELECT vards, uzvards, MONTH(dzimene) menesis, DAYOFMONTH(dzimene) diena
FROM draugi
UNION ALL
SELECT vards, uzvards, MONTH(vardene) menesis, DAYOFMONTH(vardene) diena
FROM draugi
ORDER BY menesis ASC, diena ASC

 

Tikai kā lai php pusē atšķiru kura ir vārda diena un kura dzimšanas diena?

Link to comment
Share on other sites

lai atšķirtu vai konkrētā rinda attiecas uz dzd vai vd, pieliec galā vēl vienu flag kolonnu, tipa Type

SELECT vards, uzvards, MONTH(dzimene) menesis, DAYOFMONTH(dzimene) diena, 'dzd' AS Type
FROM draugi
WHERE DAYOFYEAR(dzimene) < '".(date('z')+60)."'
UNION
SELECT vards, uzvards, MONTH(vardene) menesis, DAYOFMONTH(vardene) diena, 'vd'
FROM draugi
WHERE DAYOFYEAR(vardene) < '".(date('z')+60)."'

Link to comment
Share on other sites

Piemetu klāt ORDER BY, vai pareizi?

SELECT vards, uzvards, MONTH(dzimene) menesis, DAYOFMONTH(dzimene) diena, 'dzd' AS Type
FROM draugi
WHERE DAYOFYEAR(dzimene) < '".(date('z')+60)."'
UNION
SELECT vards, uzvards, MONTH(vardene) menesis, DAYOFMONTH(vardene) diena, 'vd'
FROM draugi
WHERE DAYOFYEAR(vardene) < '".(date('z')+60)."'
ORDER BY menesis ASC, diena ASC

Link to comment
Share on other sites

Ā, un velviens jautājums. Ja ir decembra beigas un nav vairs jubilāru ko parādīt, tad vajag parādīt jubilārus no gada sākuma. Taisīt vēlvienu kveriju?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...