Jump to content
php.lv forumi

Recommended Posts

Posted

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š.

Posted

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

Posted

nav vis klūdas.

Ja C=1 , tad AB vērtības ir 1;2;4;5 savukārt ja D=1, tad tā pāris ir 2, tātad sakrīt ar vienu no AB vērtībām.

Respektīvi - pāris ir pāris, strādā abos virzienos!

Posted

Man galvā domājot sanāca šādi:

SELECT count(A1.AA) FROM A AS A1 WHERE A1.AA=C AND A1.AB NOT IN (SELECT BA FROM B AS B1 WHERE B1.BB = C) AND A1.AB NOT IN (SELECT BB FROM B AS B2 WHERE B2.BA = C)

Posted (edited)

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
Posted (edited)

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

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...