Ερώτημα διασταύρωσης

Συζητήσεις για την βάση δεδομένων MySQL και το phpMyAdmin

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
majuranus
Δημοσιεύσεις: 404
Εγγραφή: 01 Μαρ 2006 19:47
Τοποθεσία: Veria
Επικοινωνία:

Ερώτημα διασταύρωσης

Δημοσίευση από majuranus » 04 Σεπ 2013 22:01

Καλησπέρα σας,

Έχω μία βάση δεδομένων με 4 πίνακες τον πίνακα ask, give, book, users

ο πίνακας ask έχει τα εξής πεδία
id_ask
userask (iduser από τον πίνακα users)
abook (idbook από τον πίνακα books)

ο πίνακας give
id_give
usergive (iduser από τον πίνακα users)
gbook (idbook από τον πίνακα books)

το σκεπτικό είναι ότι οι χρήστες κάνουν εγγραφές αντίστοιχα στους πίνακες ask και give και θέλουμε να ταυτίζει αυτούς που ζητούν (ask) και δίνουν (give) βιβλία τα οποία έχουν το ίδιο id.

αυτό που προσπαθώ είναι να δημιουργήσω είναι ένα ερώτημα (διασταύρωσης) το οποίο θα επιστρέφει τις εγγραφές στις οποίες τα πεδία abook = gbook

έκανα αυτό για τον χρήστη (έστω) με id=1
SELECT * FROM give
INNER JOIN ask give.gbook=ask.abook
WHERE give.usergive=1

αλλά δεν είναι σωστό και μπερδεύτηκα λίγο γιατί δεν έχω ξανακάνει intersection query
:question:

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Ερώτημα διασταύρωσης

Δημοσίευση από dva_dev » 04 Σεπ 2013 22:05

Ξανατσεκάρισε τη σύνταξη.

Κώδικας: Επιλογή όλων

...INNER JOIN πίνακας ON συνθήκη/ες WHERE ...

Άβαταρ μέλους
majuranus
Δημοσιεύσεις: 404
Εγγραφή: 01 Μαρ 2006 19:47
Τοποθεσία: Veria
Επικοινωνία:

Ερώτημα διασταύρωσης

Δημοσίευση από majuranus » 04 Σεπ 2013 22:06

Εννοείς
SELECT * FROM give
INNER JOIN ask ---ask.abook=give.gbook---
WHERE give.usergive=1 ??

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Ερώτημα διασταύρωσης

Δημοσίευση από dva_dev » 04 Σεπ 2013 23:19

Εννοώ

SELECT * FROM give
INNER JOIN ask ΟΝ (give.gbook=ask.abook)
WHERE give.usergive=1

αλλιώς μπορείς να το γράψεις σαν

SELECT * FROM give, ask
WHERE give.gbook=ask.abook
and give.usergive=1

Antoniskotsiaris
Δημοσιεύσεις: 34
Εγγραφή: 17 Οκτ 2013 17:51

Ερώτημα διασταύρωσης

Δημοσίευση από Antoniskotsiaris » 30 Οκτ 2013 20:53

xamoss Giorgaraa

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Ερώτημα διασταύρωσης

Δημοσίευση από alou » 31 Οκτ 2013 12:54

:lol: έχω λιώσει, μάλλον το πιο ξεκάρφωτο post ever.

Απάντηση

Επιστροφή στο “MySQL”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες