Jump to content
php.lv forumi

sarežģīts pieprasījums


aika

Recommended Posts

Dota tabula A ar diviem laukiem: AA un AB

AA AB

1 1

1 2

2 3

1 4

1 5

 

un tabula B ar diviem laukiem BA un BB

BA BB

2 1

1 4

1 6

vajag izveidot pieprasījumu, kas reģistrē gadījumu (rindu skaits >0), kad mainīgais C sakrīt ar AA, ja vien attiecīgais AB nav pārī ar mainīgo D tabulā B

 

piemēram:

ir jānoreaģē ja C ir 2 un D ir jebkas (3 nav neviena pāra tabulā B)

ir jānoreaģē ja C ir 1 un D ir 5 (5 nav neviena pāra tabulā B)

nav jānoreaģē ja C ir 1 un D ir 1 (1 ir pārī ar 2)

nav jānoreaģē ja C ir 1 un D ir 6 (6 ir pārī ar 1)

 

ceru ka domu sapratāt, izskatās ka jālieto WHERE no SELECTa, bet man tiešām pieredze pa īsu.

Paldies jau iepriekš.

Link to comment
Share on other sites

Dota tabula A ar diviem laukiem: AA un AB

AA AB

1 1

1 2

2 3

1 4

1 5

 

un tabula B ar diviem laukiem BA un BB

BA BB

2 1

1 4

1 6

vajag izveidot pieprasījumu, kas reģistrē gadījumu (rindu skaits >0), kad mainīgais C sakrīt ar AA, ja vien attiecīgais AB nav pārī ar mainīgo D tabulā B

 

piemēram:

ir jānoreaģē ja C ir 2 un D ir jebkas (3 nav neviena pāra tabulā B)

ir jānoreaģē ja C ir 1 un D ir 5 (5 nav neviena pāra tabulā B)

nav jānoreaģē ja C ir 1 un D ir 1 (1 ir pārī ar 2)

nav jānoreaģē ja C ir 1 un D ir 6 (6 ir pārī ar 1)

 

ceru ka domu sapratāt, izskatās ka jālieto WHERE no SELECTa, bet man tiešām pieredze pa īsu.

Paldies jau iepriekš.

izskatās pēc kļūdas piemērā

 

un

 

ja vien attiecīgais AB nav pārī ar mainīgo D tabulā B

 

tas ir B.BA = A.AB un B.BB = D

vai nu B.BA = A.AB un B.BB = D vai B.BA = D un B.BB = B.BA

Link to comment
Share on other sites

Jautājumi:

1) DB?

2) create table skripti?

3) insert skripti dotajiem datiem?

4) kas notiek tad, ja tabulā A ir 1, 2, tabulā B ir 2, 3 un C = 1 un D = 2? T.i., vai tabulā B ir jāskatās tikai uz otru pāra elementu, vai arī der tas pārīša elements uz kuru esmu aizbraucis pa taisno?

 

Par pirmajiem trīs maniem jautājumiem skat te http://datubazes.wordpress.com/2008/05/27/ka-uzdot-jautajumu/'>http://datubazes.wordpress.com/2008/05/27/ka-uzdot-jautajumu/ sadaļā par specifiku datubāzēm.

 

Gints Plivna

http://datubazes.wordpress.com

 

oops 1) atkrīt izrādās topika nosaukumā/tēmā/vai kā nu to sauc bija :)

Edited by Gints Plivna
Link to comment
Share on other sites

teorētiski es rakstītu kko tādu, bet nu labāk gaidi guru variantu :)

 

SELECT * 
FROM A
WHERE A.AA = C
AND A.AB NOT IN 
  (SELECT BA 
   FROM B
   WHERE B.BB = D
   UNION
   SELECT BB
   FROM B
   WHERE B.BA = D)

 

edit: oops kamēr rakstiju jau vairāki varianti no guru ir :D

Edited by php newbie
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...