Ich muss Werte abrufen, die nicht in einer anderen Tabelle vorhanden sind. Ich arbeite mit Shares
und Share_types
Tabellen.Abfrage, um Werte abzurufen, die zwischen Tabellen nicht vorhanden sind
Zur Zeit habe ich dies mit PHP arbeiten, aber ich bin immer Schleifen über die 2.500 ~ Zeilen von Share_types
und ich denke, es ist möglich, die Menge der Zeilen mit einer Abfrage zu lösen.
Der Benutzer zur Zeit durch diesen Prozess geht:
- die Art der Aktien wählen -
Anual share
- das Jahr auswählen, die extrahiert werden -
2016
- -Code wird alle Aktien bis zum Jahr
2016
erzeugen das war noch nicht erzeugt. Das bedeutet, dass die Jahre von2016
auch generiert werden, wenn sie nicht existieren.
Das heißt, meine PHP-Code wie folgt lautet:
// Retrieves always the 2,500~ rows
$listOfShareTypes = "SELECT user_id, date_start FROM share_types WHERE type = 'Anual share'";
foreach($listOfShareTypes as $type)
{
// Now is where I validate if the share already exists
$hasShare = "SELECT COUNT(*) FROM shares WHERE the_year = $yearSelectedByUser, user_id = $type->user_id, share_type_id = $type->id";
if($hasShare == TRUE)
continue;
else
// Create the share..
}
Also in der Regel über Abfrage, um die Ergebnisse abzurufen, die in einer anderen Tabelle existiert nicht ich zwei select
in einer Abfrage tun würde, aber nach ein paar Suchen zeigt es auf die Verwendung von LEFT JOIN
. Jedoch habe ich keine Ahnung, wie dies zu erreichen, da ich an diesem Beispiel, das ich auf SQLFiddle erstellt mehrere Felder (user_id, share_type_id, Jahr etc.)
der Suche übereinstimmen müssen, sollte das Ergebnis sein:
(5, 3, 'Anual', '2015-06-28')
Und mit diesem Ergebnis und da der Benutzer das Jahr 2016
ausgewählt habe, sollte ich (in PHP) von 2015
bis 2016
Schleife.
ich Ihre Antwort akzeptiert, aber jetzt stand ich ein anderes Problem, wenn die ‚2017‘ Benutzer wählt es sollten alle Zeilen abrufen, die alle in diesem Fall die 5 Zeilen, da die "Aktien" noch nicht hinzugefügt wurden. Hast du eine Ahnung wie man das über die Abfrage macht? – Linesofcode
können Sie einige Beispieldaten zur Geige hinzufügen und das gewünschte Ergebnis anzeigen? –